1

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 つの終了ステータスを返しました

4

1 に答える 1

1

このエラーにより、bzip2 に対してもリンクする必要があるように見えます。

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

静的ライブラリを共有ライブラリにリンクする場合は注意が必要ですが、残りのライブラリをリンクする必要があるため、このエラーが表示されます。

于 2012-09-08T21:52:17.713 に答える