如果我在链接器/库下设置库或将它们设置在"路径和符号"下,我很困惑.我认为他们是一样的.我对么?
我的问题的任何方式 - 我需要链接静态库,所以我尝试了几件事:
首先尝试我尝试在链接库中添加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
Run Code Online (Sandbox Code Playgroud)
这个帖子 dosnt给出了答案,并没有解释你如何定义与静态vs共享的不同链接.
谢谢