Debian不再为gTest提供任何预编译的软件包。他们建议您将框架集成到项目的makefile中。但是我想保持我的makefile干净。如何像以前的版本(<1.6.0)一样设置gTest,以便可以链接到库?
开始之前,请确保您已阅读并理解 Google的注释!
wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz
或手工获取。我不会保留这小小的“操作方法”,因此,如果您偶然发现了它,并且链接已过时,请随时对其进行编辑。
tar xf release-1.8.0.tar.gz cd googletest-release-1.8.0 cmake -DBUILD_SHARED_LIBS=ON . make
此步骤可能因发行版而异,因此请确保将标头和库复制到正确的目录中。我通过检查Debians以前的gtest库所在的位置来实现这一点。但我敢肯定,有更好的方法可以做到这一点。注意:make install很危险,不支持
make install
sudo cp -a include/gtest /usr/include sudo cp -a libgtest_main.so libgtest.so /usr/lib/
…并检查GNU Linker是否知道这些库
sudo ldconfig -v | grep gtest
如果输出如下所示:
libgtest.so.0 -> libgtest.so.0.0.0 libgtest_main.so.0 -> libgtest_main.so.0.0.0
, 一切安好。
gTestframework现在可以使用了。只是不要忘记通过设置-lgtest为链接器标志和(如果没有编写自己的测试主例程的话)显式-lgtest_main标志来选择将项目链接到库。
-lgtest
-lgtest_main
从这里开始,您可能想要转到Google的文档,以及有关该框架的旧文档,以了解其工作原理。编码愉快!