Eclipse-CDT を使用して、Ubuntu x64 で C++ プロジェクトをセットアップしています。私は基本的にハローワールドをやっていて、商用のサードパーティライブラリにリンクしています。
ライブラリにリンクされたヘッダー ファイルをインクルードしましたが、まだリンカー エラーが発生します。明らかな問題以外に考えられる問題はありますか (たとえば、正しいライブラリにリンクしていると 99% 確信しています)。
- リンク先の静的ライブラリが 64 ビットであることを確認する方法はありますか?
- ライブラリに必要なクラス (およびメソッド) があることを確認する方法はありますか?
エクリプス 言います:
ビルド ターゲット: LinkProblem 呼び出し: GCC C++ リンカ g++ -L/home/notroot/workspace/somelib-3/somelib/target/bin -o"LinkProblem" ./src/LinkProblem.o -lsomelib1 -lpthread -lsomelib2 -lsomelib3 ./src/LinkProblem.o: 関数 `main' 内: /home/notroot/workspace/LinkProblem/Debug/../src/LinkProblem.cpp:17: `SomeClass::close()' への未定義の参照 ./src/LinkProblem.o: 関数 `SomeOtherClass' 内: /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:148: `SomeClass::SomeClass()' への未定義の参照 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:148: 「SomeOtherClass の vtable」への未定義の参照 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:151: `SomeClass::~SomeClass()' への未定義の参照 ./src/LinkProblem.o: 関数 `~SomeOtherClass' 内: /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140: 「SomeOtherClass の vtable」への未定義の参照 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140: `SomeClass::~SomeClass()' への未定義の参照 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140: `SomeClass::~SomeClass()' への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました make: *** [LinkProblem] エラー 1