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)