【发布时间】:2012-07-23 02:50:58
【问题描述】:
我很困惑应该在链接器/库下设置库还是将它们设置在“路径和符号”下。我认为它们是一样的。我说的对吗?
我的问题的任何方式 - 我需要链接静态库,所以我尝试了一些事情:
第一次尝试我尝试在链接库中添加gtest(这是库)和gtest路径。 这样它的编译和链接正确,但在运行时失败,因为当它试图加载共享库时(我想要静态库!)错误是
加载共享库时出错:libgtest.so.0
第二次尝试 - 我尝试在路径和符号中定义它,将完整路径 '/root/workspace/gmock/gtest/lib/.lib/libgtest.a' 添加到库中。在这种情况下,我在链接中遇到错误:
g++ -L/root/workspace/gmock/lib/.libs -L/root/workspace/gmock/gtest/lib/.libs -o "playground" ./src/p.o ./src/playground.o -lpthread -l/root/workspace/gmock/gtest/lib/.lib/libgtest.a -l/root/workspace/gmock/lib/.lib/libgmock.a
/usr/bin/ld: cannot find -l/root/workspace/gmock/gtest/lib/.lib/libgtest.a
This postdosnt 给出了答案,并没有解释您如何定义不同的链接与静态链接和共享链接。
谢谢
【问题讨论】:
-
你试过 -L/root/workspace/gmock/gtest/lib/.lib/ -lgtest.a 吗?
-
是的,试试看。仍然得到 -"/usr/bin/ld: 找不到 -lgtest.a"。据我所知文件名是 libgtest.a 你应该写 gtest
标签: c++ eclipse-cdt