我有共享库,它依赖于一些静态库,其中包括zlib等。当我使用与 g++ (cent os 6.3) 相关的静态库,它编译得很好。现在,当我尝试在测试项目中使用我的共享库时,我遇到了很多 Unresolved 错误。我做错了什么?
g++ -L/usr/local/lib -L/home/de.../workspace/libtest/Debug -o "mytest" ./src/mytest.o -ltest
/home/de.../workspace/libtest/Debug/libtest.so: undefined reference to `BZ2_bzCompressEnd'
collect2: ld returned 1 exit status
最佳答案
错误使您看起来还需要链接到 bzip2:
g++ -L/usr/local/lib -L/home/de.../workspace/libtest/Debug -o "mytest" ./src/mytest.o -ltest -lbz2
将静态库链接到共享库时确实需要小心,但您会看到此错误,因为您需要链接其余库。
关于gcc - undefined reference 错误链接共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334719/