実行可能ファイル、いくつかの独自の静的ライブラリ、およびいくつかのプリコンパイル済み静的サード パーティ ライブラリで構成される MSVC++ プロジェクトがあります。exe はビルド時間を短縮するためにインクリメンタル リンクを使用します。
実行可能プロジェクト内の .cpp ファイルを変更すると、コンパイルとリンクは非常に高速です (10 秒未満)。
しかし、自分のライブラリの 1 つで .cpp ファイルを変更すると、実行可能プロジェクトは、使用するすべてのライブラリに対して完全なリンクを実行しているように見えます。
実際に完全なリンクであるかどうかはわかりませんが、「vc90.pdb not found」リンカー警告から、まったく変更されていない外部ライブラリにリンクしていることがわかります。
プロジェクト構造の例を次に示します。
- コンパイル済みのサードパーティ ライブラリ
ExtLib1
、ExtLib2
およびExtLib3
- 独自のライブラリ
MyLib
、サードパーティのライブラリを使用ExtLib1
MyExe
とを使用してMyLib
自分の Exe 、ExtLib1-3
で .cpp ファイルを変更するMyLib
と、インクリメンタル リンクがオンになっている場合でも、 、、およびにMyExe
リンクされます。MyLib
ExtLib1
ExtLib2
ExtLib3
私のプロジェクトでは完全なリンクに約 5 分かかるので、質問しています:変更されたライブラリのみを再リンクする方法はありますか?