0

この投稿で説明されているのと同じ問題があります。

*.h ファイルで宣言された関数への未定義参照

Eclipse を使用して C/C++ プロジェクトを作成しています。

どうすれば同じ問題を解決できますか?

プロジェクト -> プロパティ -> c c++ ビルド -> 設定 -> ツール設定 -> Gcc c++ ライブラリ -> ライブラリ -> ライブラリ (-l)

/lindoappi/bin/linux34 にライブラリを追加します。

しかし、それは機能しません。ディレクトリを次の場所に追加しました。

プロジェクト -> プロパティ -> c c++ ビルド -> 設定 -> ツール設定 -> Gcc c++ ライブラリ -> ライブラリ -> ライブラリ検索パス

コンソール出力は次のとおりです。

**** プロジェクト LINDO_test の構成デバッグのビルド ****

make all Build target: LINDO_test 呼び出し: GCC C++ Linker g++ -L/home/mario/lindoapi/bin/linux32 -o"LINDO_test" ./src/LINDO_test.o ./src/test_001.o -lliblindo /usr/bin/ ld: -lliblindo が見つかりません collect2: ld は 1 の終了ステータスを返しました make: *** [LINDO_test] エラー 1

以下も関連記事です: 共有ライブラリの読み込み中にエラーが発生しました

他の提案はありますか?どうもありがとう。

4

1 に答える 1

0

次の場所に移動します。

プロジェクト -> プロパティ -> c c++ ビルド -> 設定 -> ツール設定 -> Gcc c++ リンカー -> ライブラリ -> ライブラリ (-l)

ライブラリを次のように追加します: lindo64 mosek64 など、必要なものは何でも。

次に追加: プロジェクト -> プロパティ -> c c++ ビルド -> 設定 -> ツール設定 -> Gcc c++ リンカー

.../lindoapi/bin/linux64 が Project -> properties -> c c++ build -> settings -> Tool Settings -> Gcc c++ linker -> libraries -> Library search path (-L) にあることを確認してください。

コマンド ライン パターンを次のように編集します: ${COMMAND} ${OUTPUT} ... -Wl,-rpath=/opt/lindoapi/bin/linux64 ${INPUTS}

何らかの理由で、Eclipse は Wl に対して -soname、--out-implib、および --output-def のみを許可するため、この方法で手動で行う必要があります。きれいではありませんが、動作します。

これが他のユーザーにも役立つことを願っています。

幸せなコーディング。

于 2013-04-18T18:42:12.313 に答える