当前位置 : 主页 > 编程语言 > c++ >

c – 如何将googleTest设置为Linux上的共享库

来源:互联网 收集:自由互联 发布时间:2021-06-23
Debian不再为gTest提供任何预编译的包.他们建议您将框架集成到项目的makefile中.但我想保持makefile干净.如何像以前的版本( 1.6.0)一样设置gTest,以便我可以链接到库? 在开始之前确保您已阅
Debian不再为gTest提供任何预编译的包.他们建议您将框架集成到项目的makefile中.但我想保持makefile干净.如何像以前的版本(< 1.6.0)一样设置gTest,以便我可以链接到库? 在开始之前确保您已阅读并理解
this note from Google!本教程简单易用,但可能会介绍 nasty bugs.

1.获取googletest框架

wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz

或者在hand之前得到它.我不会保留这个小方法,所以如果你偶然发现并且链接已经过时,请随时编辑它.

2.解压缩并构建谷歌测试

tar xf release-1.8.0.tar.gz
cd googletest-release-1.8.0
cmake -DBUILD_SHARED_LIBS=ON .
make

3.“安装”系统上的标头和库.

此步骤可能与发行版到发行版不同,因此请确保将标头和库复制到正确的目录中.我通过检查Debians former gtest libs所在的位置完成了这项工作.但我确信有更好的方法可以做到这一点.注意:make install很危险,不受支持

$sudo cp -a include/gtest /usr/include
$sudo cp -a libgtest_main.so libgtest.so /usr/lib/

4.更新链接器的缓存

…并检查GNU链接器是否知道库

$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标志.

从这里开始,您可能想要了解有关框架的Googles documentation以了解它的工作原理.快乐的编码!

编辑:
这也适用于OS X!见“How to properly setup googleTest on OS X”

上一篇:从C代码生成UML?
下一篇:C – SizeOf指针
网友评论