いくつかのプロジェクトを含むソリューションがあります。これらのプロジェクトのいくつかは、ソースファイルを共有します。ソースファイルを共有するプロジェクトが一緒になるようにプロジェクトツリーを設定しました。私の問題は、クリーンアップを実行して共有ソースファイルをビルドすると、それらを使用する最初のプロジェクトだけでなく、すべてのプロジェクトに対して再コンパイルされることです。その結果、最初のビルドに必要以上に時間がかかり、すべての依存関係を満足させるために複数回ビルドする必要があります(再リンクが必要です)。プロジェクトは、一連のmakeを使用するgccプロジェクトからのポートです。ビルドを実行するファイル。makeファイルはコンパイルを繰り返しません。Visual Studioで期待どおりに依存関係が満たされるように、上記の状況を処理する方法はありますか?ソースファイルと.idbおよび.pdbファイル間の依存関係が原因で問題が発生しますか?
更新:私が本当に必要としているのは、異なるDLLおよびLIB名を持つ同じobjファイルに対して再リンクを実行するようにVSに指示する方法です。再リンクプロジェクトに.objファイルを含めることでこれを機能させることができますが、デバッグ/リリースバージョンを作成する方法を理解できませんでした。プロジェクトファイルのセクションでは、$(IntDir)が解析されていないようです。それで...
プロジェクト1で
file1.c file2.c file3.c dll1.dll、dll1.libへのリンク
次に、プロジェクト2では、project1のオブジェクトファイルが今回だけdll2.dll、dll2.libに再度リンクされます。
project3同じこと。等
私はこれをMSフォーラムにも投稿しましたが、まだ回答を受け取っていません。