IncrediLink
注意: Microsoft 社のサポート終了にともない、Visual Studio 2008 以前のバージョンは Incredibuild のサポート対象外となりました。
ここでは IncrediLink オプションを使ってインクリメンタル リンクを高速に処理する方法をみていきます。IncrediLink では Visual Studio のインクリメンタル リンク オプションと修正した link.exe コマンドラインを組み合わせて、LIB ファイルの代わりに (LIB ファイルを構成する) OBJ ファイルを参照します。メインプロジェクトにリンクされた LIB プロジェクトで構成されたソリューションで、インクリメンタル リンク機能を有効にするのに必要です。DLL および EXE プロジェクトのリンクに作用します。
>IncrediLink の有効化
-
[Agent Settings] を開いて [Visual Studio Builds] > [Linker] に移動します。
-
[By default, enable IncrediLink] のチェックボックスをオンにして必要なオプションを選択します。
-
[According to "Enable Incremental Linking" project setting]: [インクリメンタル リンク] が有効 (デフォルトでは有効) なプロジェクトでのみ IncrediLink を有効にします。
-
[For all projects]: すべてのプロジェクトで IncrediLink を有効にします。
-
[Do not create libraries]: 親プロジェクトのリンク コマンドラインに OBJ ファイルが埋め込まれた LIB プロジェクトのリンク ステップをスキップします。このような LIB プロジェクトの OBJ ファイルは、メインの実行ファイル / DLL に紐付けられます。LIB プロジェクトのリンク ステップをスキップすることで、ビルド時間が短縮ができることがあります。
-
-
[According to Incredibuild default setting] または [According to 'use Library Dependency Inputs' project option] のどちらかを動作モードに指定します (プロパティでこの設定が有効になっているプロジェクトでのみ IncrediLink が有効になります)。
注意事項
-
別々のライブラリ プロジェクトで同じシンボルが二度定義されている場合、シンボル リンクの重複エラー メッセージが表示されることがあります。これは、リンカが異なるオブジェクト ファイルでシンボルが重複して定義されるよりも、ライブラリのシンボルが重複していることに耐性があるためです。この場合、シンボルを一度だけ含めるようにコードを変更します。
-
「Missing Function body」エラーが表示される場合はコードに関数本体のスタブを追加します。
-
コードで参照されていないシンボルも最終出力に含まれます (通常のリンクでは無視されます)。