【问题标题】:g++ undefined reference with a shared library [duplicate]g ++未定义的引用与共享库[重复]
【发布时间】:2016-12-05 16:13:04
【问题描述】:

我正在尝试使用以下命令编译带有共享库的文件:

g++ -L. -lsubmit main.cpp

它输出:

/tmp/ccRFpx1v.o: In function `main':
main.cpp:(.text+0x5): undefined reference to `Submit_test()'
collect2: error: ld returned 1 exit status

我在工作目录中有 main.cpp 和 libsubmit.so。这是我的 main.cpp

void Submit_test();
int main()
{
    Submit_test();
}

这里是nm -D --demangle libsubmit.so

...
0000000000000e0e T Submit_test()
...

我应该如何编译该代码?

【问题讨论】:

标签: c++ g++ shared-libraries


【解决方案1】:

这可能是how-to-know-if-one-shared-library-depends-on-another-shared-library-or-not的重复

TLDR 是您应该将链接库放在对象/源文件之后。

【讨论】:

  • 我将 -lsubmit 移到最后,它确实解决了问题
猜你喜欢
  • 1970-01-01
  • 2019-02-12
  • 2011-07-19
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多