链接共享对象的未定义引用错误

时间:2012-09-08 21:40:18

标签: gcc g++ centos shared

我有共享库,它依赖于一些静态库,其中包含 zlib 等。当我使用 zlib 构建我的共享库时依赖静态库与g ++(cent os 6.3)它编译得很好。现在,当我尝试在测试项目中使用我的共享库时,我收到了许多未解决的错误。我做错了什么?

  

g ++ -L / usr / local / lib -L ​​/ home / de ... / workspace / libtest / Debug -o“mytest”   ./src/mytest.o -ltest

     

/ home / de ... / workspace / libtest / Debug / libtest.so:对“BZ2_bzCompressEnd”的未定义引用

     

collect2:ld返回1退出状态

1 个答案:

答案 0 :(得分:1)

该错误使您看起来也需要链接bzip2:

g++ -L/usr/local/lib -L/home/de.../workspace/libtest/Debug -o "mytest" ./src/mytest.o -ltest -lbz2

您需要注意将静态库链接到共享库,但是您会看到此错误,因为您需要链接其余的库。