为什么没有安装google test的库文件?

为什么没有安装google test的库文件?

libgtest-dev 包似乎只向系统安装头文件,但没有安装应该安装在 /usr/lib 下的静态库和动态库。

这是一个错误吗?

答案1

这是一个错误吗?

不,这是故意的:

gtest (1.6.0-1ubuntu2) 精确;紧急程度=低

  * 停止分发静态库(尽管仍然构建它,以确保 gtest
    可以工作)。上游建议不要发布该库,只需发布
    来源。(请参阅:http://code.google.com/p/googletest/wiki/FAQ)
    Debian 维护者也计划这样做(参见 BTS:639795);
    Ubuntu 现在满足 MIR 要求。

构建静态库

cd /usr/src/gtest
命令 cmake 。
sudo 制作
sudo mv libg* /usr/lib/

编辑:

虽然过程保持不变,但名称多年来略有变化。在 Ubuntu 17.04 中:

sudo apt-get install libgtest-dev
cd /usr/src/googletest/googletest
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo cp libgtest* /usr/lib/
cd ..
sudo rm -rf build

答案2

改进 izx 的答案我会这样使用 cmake:

sudo cmake -DCMAKE_BUILD_TYPE=RELEASE .

我将尝试进行源外构建:

cd /tmp
mkdir .build
cd .build
cmake -DCMAKE_BUILD_TYPE=RELEASE /usr/src/gtest/
make
sudo mv libg* /usr/lib/

答案3

请注意受到推崇的谷歌的方法是让你现有的项目拉入 gtest 源代码。

或者,当与 CMake 一起使用时,您可以使用它add_subdirectory来添加随附的 gtest 源,libgtest-dev因为它默认进入/usr/src/googletest

以下方法可行

add_subdirectory(/usr/src/googletest gtest)
target_link_libraries(your_executable gtest)

相关内容