我有共享库,它依赖于一些静态库,其中包含 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退出状态
答案 0 :(得分:1)
该错误使您看起来也需要链接bzip2:
g++ -L/usr/local/lib -L/home/de.../workspace/libtest/Debug -o "mytest" ./src/mytest.o -ltest -lbz2
您需要注意将静态库链接到共享库,但是您会看到此错误,因为您需要链接其余的库。