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
很危险,不支持
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
标志来选择将项目链接到库。
从这里开始,您可能想要转到Google的文档,以及有关该框架的旧文档,以了解其工作原理。编码愉快!
问题内容: 我正在Linux下使用C ++开发共享库,并且我希望该库使用log4cxx进行日志记录。但是,我不确定该如何设置。为了使log4cxx正常工作,我需要创建一个记录器对象。我如何确保在加载库时创建了该对象? 我怀疑将记录器对象创建为全局变量,然后从我的库的任何源文件中使用它,在标头中将其声明为extern,将是最容易的。但是,一旦应用程序连接到库,如何自动创建记录器? 我知道在Windo
问题内容: 我正在尝试使用该标志自动执行gdb会话。我正在尝试在共享库(相当于DLL的Unix)中的函数上设置断点。我的cmds.gdb看起来像这样: 但是,我得到以下信息: 因此,它毕竟不会设置断点。如何将默认值设置为“ y”,以在未决的将来共享库加载时设置断点? 我记得自己能够做些事情,但无法回忆起什么。 问题答案: 回覆我自己,我想提供某人在IRC上给我的答案: 因此, 设置断点挂起就 可以
问题内容: 有什么方法可以从Java代码中调用库中的函数吗?通常,可以在Java程序中使用Linux 库吗? 问题答案: 答案是“ JNI” :) 这里有几个链接: 如何在Linux上为JNI应用程序编译动态库? http://learn-from-the-guru.blogspot.com/2007/12/java-native-interface-jni-tutorial-hell.html
问题内容: 我正在尝试建立一个共享库。让我们说libabc.so。它使用另一个.so文件,例如lib123.so(/ usr / local / lib中的一个lib)。现在我在我的应用程序中使用共享的liblibabc.so。说我的应用程序。我想知道我应该如何链接这些二进制文件?我不想直接将我的应用程序与lib123.so链接。my- app应该仅与libabc.so链接。我怎样才能做到这一点?
大家好,我有代码主和tictactoe类 这里是main类的示例。在这段代码中,我输入了类似字符串号的内容 这是为我的tictactoe程序班准备的。如果我运行这个代码,我只有3x3tictactoe程序,所以我想用我的输入修改其中一个代码,这样我的tictactoe将输入x输入 我的问题是我想改变这个领域 成为 公共静态最终int行=输入;//行按COLS单元格public static fin
本文向大家介绍ubuntu 下VirtualBox 如何实现共享设置,包括了ubuntu 下VirtualBox 如何实现共享设置的使用技巧和注意事项,需要的朋友参考一下 ubuntu 下VirtualBox 实现共享设置: 使用系统VirtualBox,另外又装个Ubuntu ,想让两个系统实现共享设置,经过上网查资料,得以实现,这里就说下具体步骤: 一、Virt