我编译了Google C++ Test。我现在试图将它添加到我的g ++安装(在Cygwin上),因此我不必为每个项目指定-I
,-L
和-l
。我做的步骤是:G ++:尝试将include和lib添加到默认目录
- 我把一个符号链接到/ usr /本地/包括以GTEST_ROOT /包括/ GTEST
- 我把在/ usr/local/lib目录中GTEST_ROOT/lib中的库符号链接( libgtest.la libgtest_main.la)
- 我写了一个证明程序测试设置
测试程序编译罚款与g++ -c proof.cpp
但g++ proof.cpp
在链接过程中给出了错误,说GTEST引用不能被发现。
使用grep来搜索我GTEST_ROOT为所需的参照,我发现他们在GTEST_ROOT/lib中/的.libs附加库(libgtest.a libgtest.la libgtest.lai libgtest_main.a libgtest_main.la libgtest_main.lai)
由于时间的限制,我使用下面的命令g++ -LGTEST_ROOT/lib/.libs -lgtest proof.cpp
来使它工作,我把它放在makefile中。
但是,我仍然试图让我的设置,使g++ proof.cpp
只是工作。我错过了什么?
感谢马特,我现在明白我不能放弃-lgtest
。我想至少摆脱-LGTEST_ROOT/lib/.libs
。我已将符号链接添加到提供的其他.a
和.lai
文件中。但是,g++ proof.cpp -lgtest
现在给我链接器错误:cannot find -lgtest
注意:symlinking GTEST_ROOT/lib/.libs中的库仍然不会给出所需的结果。
谢谢,马特。我有'libgtest.la'和'libgtest_main.la'(不是目录)的符号链接。根据你的建议,我已经在'.a'和'.lai'文件中添加了符号链接(没有'.so'文件)。所以我期望'g ++ proof.cpp -lgtest'可以工作,但是我得到'找不到-lgtest'错误。有什么建议么? – Carlos
尝试删除所有的符号链接,除了'.a'。 BTW不会gtest有'make install'目标?你不应该亲自做这些事情,make过程应该处理安装部分(并且修复'.la'文件进行安装)。 – Mat
再次感谢,马特。删除除'.a'文件以外的所有内容时不会发生变化。 gtest的'make install'有用地告诉你阅读README,它没有关于如何处理这个库的指令。 – Carlos