1

Eclipse で非常に単純な C++ プログラムをビルドしようとしていますが、非常にばかげたエラーが発生します。


**** Internal Builder is used for build               ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -oMyFirst.o ../MyFirst.cpp
g++ -oLinkedLists MyFirst.o
ld: unknown option: -oLinkedLists
collect2: ld returned 1 exit status
Build error occurred, build is stopped

消費時間: 403 ミリ秒。


問題は、osx の g++ が、実行可能ファイル名のすぐ横にある「g++ -oLinkedLists MyFirst.o」コマンドの -o フラグを好まないことです...g++ を構成してそれを受け入れる方法または構成方法を知っている人はいますか? -o フラグとファイル名の間にスペースがあるような Eclipse のビルダー: "g++ -o LinkedLists MyFirst.o"?

事前にt​​hx!

4

3 に答える 3

2

この問題をさらに明確にするために、解決策は必ずしも MacOSX gcc ツールチェーンを使用することではありません。問題は、ツールチェーンのリンカーのコマンド ライン パターンにあります。問題を解決するために必要なことは、コマンド ライン パターンを編集して、各用語の間にスペースが入るようにすることだけです。

デフォルトでは、Linux gcc リンカーのコマンド ライン パターンは次のようになります。 ${COMMAND} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}${INPUTS}

${OUTPUT_PREFIX} と ${OUTPUT} の間にスペースがないことに注意してください。これが問題の核心です。これら 2 つの用語の間にスペースを追加するだけで、問題は解決します。

于 2010-08-25T16:46:44.983 に答える
1

マークは実際に私を正しい方向に向けましたが、それを機能させるために私がしなければならなかったことは、プロジェクト >> プロパティ >> C/C++ ビルド >> ツール チェーン エディターに移動することでした。

次に、「現在のツールチェーン」選択ボックスを「MacOSX gcc」に変更し、修正しました:)

于 2009-09-29T04:40:44.057 に答える
0

OSX10.5でEclipseCDT3.5を使用していますが、動作します-

**** Internal Builder is used for build               ****
g++ -I/opt/local/include -O0 -g3 -Wall -c -fmessage-length=0 -osrc/tet.o ../src/tet.cpp
g++ -o tet src/tet.o
Build complete for project tet

リンク行に実行可能ファイル用のスペースがあります

デフォルト設定を使用しています

[設定]->[C/C++ビルド]->[設定]->[MacOSX C ++リンカー]では、コマンドラインパターンは次のとおりです。

$ {COMMAND} $ {FLAGS} $ {OUTPUT_FLAG} $ {OUTPUT_PREFIX} $ {OUTPUT} $ {INPUTS}

于 2009-09-25T08:33:31.543 に答える