2012-04-20 14 views
0

私のプロジェクトのインクルードファイルを再コンパイルしたいのですが、ヘッダファイルと.cソースファイルがEthetnetドライバのファイルです。今私は私の含まれているソースファイルのいくつかの変更をしたい。しかし、プロジェクトを変更したりビルドしたり再ビルドしたりすると、.cソースファイルの変更は最終出力バイナリで行われます。これは私のプロジェクトが以前にコンパイルされた.oファイルを取り込むことを意味します。では、どのようにしてプロジェクトのすべてのインクルードファイルを再コンパイルして、最終出力バイナリで変更が発生するようにすることができますか?eclipseでインクルードファイルを再コンパイルする方法

ありがとうございます。

答えて

0

CMIIWしかしAFAIKコンパイラ(私はgccだと思います)に依存し、インクルードされたファイルに対する依存性解析が行われるかどうか、gccの場合は実行されません。これは、対応する.oと.cだけ比較します。したがって、インクルードファイルを変更するときに強制的に再構築する必要があります。おそらく、あなたが使用できる特定のコンパイラオプションがありますが、わかりません。

EDIT:あなたは確かに、プロジェクトおよび再建を清掃右ファイル(変更したものではなく、他のディレクトリから、同じ名前の一部)を含めている場合はHow can I have a Makefile automatically rebuild source files that include a modified header file? (In C/C++)

+0

はいいいえ、私は強制的にインクルードファイルを再コンパイルしなければなりませんでした。私がやらなければならなかったことは、変更されたファイル(私の場合はイーサネットドライバ)を別々に再コンパイルすることです。だから私は私のファイルを変更し、別々にeclipseを使ってすべての変更されたファイルを再コンパイルします。皆さんのお手伝いをありがとうございます。 –

0

: は似たような質問を見つけましたそれは助けてください。プロジェクトエクスプローラでプロジェクトを選択し、右クリックして "クリーンプロジェクト"を実行してビルドしてください。

関連する問題