0

_D オプション MY_OPT を指定して .c ファイルをコンパイルしています。プロパティ -> c++ ビルド -> 設定 -> gcc c コンパイラ -> シンボルで、エントリを作成し、値として MY_OPT を入れました。

コンパイルすると、DMY_OPT が見つからないというエラー 127 が表示されます。エラー 127 は実際には bash から発生したことを意味することを知り、少し考えた後、(-DMY_OPT のように) ダッシュがないため、bash は DMY_OPT という名前の入力ファイルが見つからないと報告することに気付きました。

私はグーグルとスタックオーバーフローを検索し、同様の質問をたくさん見つけましたが、リモートで関連する回答を細かくするのに十分な狭い検索用語で作成することはできないので、ここの誰かが助けてくれることを願っています.

注: SYMBOL を削除し、代わりに -DMY_OPT をその他のフィールドに入れました。変更はありません (または、以前のエラーを削除しないという Eclipse Juno のバグが発生しています。)

4

1 に答える 1

0

この質問に対する答えは、Eclipse によって構築されたコマンド ライン全体のテストであることがわかりました。私が読んだ

${COMMAND ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} } ${FLAGS}
         ^                                                   ^ 
         } accidentally moved to here ---------------------->| 

${FLAGS} をコマンド ラインの末尾に移動するつもりでしたが、${COMMAND} から右側の } を移動することもできました。

注:これは、コンパイル コマンド ラインをリンカ コマンド ラインのように見えるようにするために行われました。この場合、${FLAGS} を行末に移動して、".o" と "-o xxx" のリストを"_l's: および "-L's" は、gcc/g++ の一部のリリースで必要になります。

于 2012-11-29T21:57:56.570 に答える