1

C++ プロジェクトがあり、ビルド プロセスに Bakefile を使用しています。クロスプラットフォーム サポートのために、msvc、mingw、gnu などの Makefile が生成されます。

問題は、(他の .cpp ファイルに含まれている) .h ファイルを変更すると、再構築を実行しても変更されたファイルが再コンパイルされないことです。ただし、.cpp ファイルを変更すると、再コンパイルされます。

プロジェクトに含まれるファイルの変更されたタイムスタンプに基づいて、そのファイルを再構築することを検討します。

.bkl ファイルにタグとして追加する必要があるものがありませんか? 助けてください。

4

1 に答える 1

1

Bakefile自体は、ターゲット間の依存関係のみを処理します。ソースファイルとヘッダー間の依存関係は頻繁に変更されているため、makefileに書き留めることはできません。makeこの種の依存関係は、協力しなければならないコンパイラとによって処理されます。

GCCとGNUはこれをうまくサポートします(そしてBakefilegnuまたはautoconfフォーマットは適切なdeps追跡を備えたmakefileを生成します)。nmake特に(Bakefileのmsvcフォーマット)についての不満があると思いますよね?

ここでは運が悪いです。恐れ入りますが、nmake制限が多すぎて動的な依存関係をサポートしていません。代わりに、IDEとvcbuild依存関係の追跡の両方で、プロジェクトファイルを生成して使用することをお勧めします。

于 2010-05-04T11:53:18.533 に答える