私は走っています
Eclipse Juno Service Release 2 ビルド ID: 20130225-0426 (この CDT構成を使用)
そしてこのOS:
(の切り捨てられた出力uname -a
):Linux 3.2.0-51-generic #77-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
次のように HelloWorld C++ プロジェクトを作成します。
- ファイル -> 新規 -> C++ プロジェクト
- プロジェクトの種類: 実行可能な空のプロジェクト
- ツールチェーン: Cross GCC
- 構成: デバッグおよびリリースのチェック済み
Main.cpp
次に、 Hello World コードを含むC++ ソース ファイルを作成します。
その後、ハンマー アイコンを使用してコンパイルできます。リリース モードでコンパイルすることを選択します。プログラムは (eclipse 内またはコマンド ラインで) 正常に実行され、"hello" が出力されます。「hello there」を出力するようにコードを変更すると、ハンマーで再コンパイルでき、プログラムは引き続き正常に実行され、「hello there」が出力されます。
ただし、コードを変更して "hello there you" を出力し、Release ディレクトリ ( /home/user/workspace/HelloWorld/Release
) に移動して make と入力すると、次のメッセージが表示されますmake: Nothing to be done for 'Main.d'
。
Release ディレクトリに makefile というファイルがありますが、通常の makefile のように動作していません。この makefile は、コードに変更があり、make と入力すると、コードが実際に再コンパイルされるようになっていると思います。make clean
の後に を入力するmake
と、コードが再コンパイルされますが、これは大規模なプロジェクトでは非効率的です。
Eclipse によって生成された makefile がこのように動作する理由を知っていますか? どうもありがとう。