带有共享库的G 未定义的参考

g++ undefined reference with a shared library

本文关键字:参考 未定义 共享      更新时间:2023-10-16

我正在尝试使用以下命令与共享库一起编译文件:

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。这是我的主要cpp

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

这是nm -D --demangle libsubmit.so

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

我应该如何编译该代码?

这可能是一个dup的dup,dup是一对一折 - 与靠近的靠背依赖的属于单位共享的折扣

tldr是您应该在对象/源文件之后放置链接的libs。