Visual Studio ビルド

一般設定

一般設定」 のページには、このAgentによって開始される VS ビルドに影響する設定が含まれています。

複数のCPU/Core の使用

ローカルで並行してリンクステップを実行できるようにする:

このオプションは、異なるプロジェクトのリンクステップをイニシエータマシンで並行して実行することを許可 するかどうかを決定します。システムのメモリが複数のリンク ステップを処理できる場合にのみ選択してください。

Max.number of CPU/Cores used for parallel linking:

Allow linking steps to run in parallel locally オプションを有効にした場合、任意の時点でリンクステップを並行して実行できる最大 CPU、 または、コアの数を入力します。

Allow non-distributable custom steps to run in parallel locally

(「rem Incredibuild_AllowRemote」ディレクティブで) 分散処理を宣言されていないカスタム ステップ / ルールをローカルマシンで並列実行します。無効な場合、分散できないカスタム ステップ / ルールをすべて逐次実行します。

Projects

Build all projects regardless of errors

有効にすると、依存するビルドが失敗しても残りのビルドを継続します。プロジェクトをビルドする際に [Batch Build] ダイアログで別の値を指定して上書きできます。新しく指定した値はその後のビルドでも有効です。

高度な設定

高度な設定」の ページには、この Agent が開始する Visual Studio ビルドに影響する高度な設定が含まれています。

[ビルドオプション (Visual Studio .NET / 2005 / 2008)

non-C/C++ projects のビルド]

このオプションを選択すると、Incredibuild はローカルマシンに非 C/C++ (Visual Basic, C#, deployment) プロジェクトをビルドします。C / C++ とそれ以外がソリューションに混在するプロジェクトで選択します。C / C++ 以外のプロジェクトをビルドするために「/build」パラメーターで「devenv.exe」を実行する子プロセスが生成されます。

無効にすると C / C++ 以外のプロジェクトは無視されます。

Build non-C/C++ projects in parallel locally (when possible)

有効にすると、C/C++ 以外のプロジェクト (Visual Basic、C# など) は、ローカルマシンの CPU / コア上で並列にビルドされます (「マルチ CPU / コア」拡張パッケージを持つ Agent の場合)。C# プロジェクトを並行実行するとファイル アクセスが競合することがあるため、デフォルトでは無効になっています。

Environment

Use Environment variables instead of IDE paths

有効にすると、IDE の変数の代わりにローカル環境変数 (INCLUDE、LIB、PATH) を使用します。

Predictive Execution (Visual Studio 2010 and higher)

Enhance throughput using out-of-order tasks spawning

[VS 2010 以降のみ] 有効にすると、Visual Studio のタスク (コンパイル、リンク、RC など) の処理を最適な順序で実行します。ビルドのパフォーマンスが大幅に改善する場合があります。

Visual Studio のビルド タスクの時間当たりの処理量が増えるため、ビルドのパフォーマンスと CPU 使用率が改善します。例えば「プロジェクト A」に依存した「プロジェクト B」を考えてみましょう。通常であれば Visual Studio と Incredibuild はともに「プロジェクト A」のコンパイルとリンクが終わってから「プロジェクト B」を処理しますが、「予測実行」機能が有効な場合は「プロジェクト B」のコンパイル タスクの一部を「プロジェクト A」のタスクと同時に実行します。

重要:

現在、次のプラットフォーム/コンパイラでは、投機的実行機能はサポートされていないため、無効にしてください:WiiUCaféNintendo 3DS およびおよびCUDAコンパイラ。これらのツールを使用しているマシンでは、「投機的実行」機能を有効にしないでください。

PDB File Allocation

Limit Concurrent PDB file instances to X

このオプションを選択すると、Incredibuild は同じプロジェクトに属するファイルを同時にビルドできる数を制限します。PDB ファイルの数を抑えてリンク時間を短縮することができます。有効にすると、ビルドの並列化も制限を受けます。特定のプロジェクトで並列実行できるコンパイル数はここで設定した値以下になります。例えば、並列実行可能な 2つのプロジェクト (A と B) があり、このオプションを使って同時実行する PDB ファイル インスタンスを「8」に設定したとします。各プロジェクトに 100 件のコンパイルがあるとすると、並列実行されるコンパイルは 16 件 (「プロジェクト A」から 8 件、「プロジェクト B」から 8 件) となります。

このオプションを実際に使用する前に様々な値を試してみてください。一般的にこのオプションはプロジェクト数の多いソリューションに適しています。これは、プロジェクト数が多いほど並列化の余地があるためです。

Force 64-bit toolset

このオプションを選択すると、Incredibuild は Visual Studio の下でデフォルトの 32 ビットツールセットではなく、ネイティブの 64 ビットツールセットを使用してビルドを実行します。VS 2013 および VS 2015 のビルドが対象です。

リンカがより多くのメモリを使用できるようになるため、LNK1318 などのリンカーのメモリ関連の問題が解決されるとともに、一定程度のパフォーマンスが追加されます。

Linker

Linker ページには Visual Studio ビルドのリンクステージに影響する設定が含まれています。

Link Options (Visual Studio 6.0)

Don't separate types when linking

このオプションは、プロジェクトで /pdbtype:sept が明示されていても、Incredibuild が常に /pdbtype:con リンカオプションを使用するよう指示しています。有効にすると、プロジェクト全体のデバッグ情報が単一の PDB ファイルに保存されます。Incredibuild はビルドに参加している Agent ごとに PDB ファイルを作成するため、このオプションが無効の場合は、これを考慮してプロジェクトのデバッグ情報ファイルにアクセスするスクリプトを記述するよう注意してください。

注意: このオプションは MSVC 6.0 のビルドのみ対象です。「/pdbtype」リンカ オプションの詳細は MSDN ライブラリの「/PDBTYPE」をご覧ください。

IncrediLink (Visual Studio .NET / 2005 / 2008)

「IncrediLink」モードを有効にしてインクリメンタル リンクを高速に処理します。

を有効にします。IncrediLink オプションが、機能的に「ライブラリ依存の入力を使用」と同等のVisual Studio プロジェクト設定にどのように対応するかをコントロールします。

Browse Information

Browse Informationページは、このエージェントがプロジェクトのブラウズ情報を作成する方法を制御します。

Browse Information Creation

MSVC のブラウズ情報機能は、シンボル定義や宣言へのソースコードのナビゲーション、関数パラメーターの自動補完など便利な機能を備えています。この機能の使用時にコンパイラはソースファイルに拡張子「.SBR」のファイルを生成し、各ビルドの最後に BSCMake ツールを実行してブラウズ情報を生成します。このツールは MSVC がブラウズ情報に使用する単一のファイル (.BSC) に「.SBR」ファイルを「リンク」します。ブラウズ情報を生成するとビルドが遅くなることがあるため、常に使用されているわけではありません。

ブラウズ情報の作成時の動作は次から選べます。

Always generate .SBR files according to project settings

有効にすると、ビルドする構成のプロジェクト設定の「C / C++」ページで [Generate browse info] (VC6.0) または [Enable browse information] (VC.NET) を指定した場合のみ .SBR ファイル (ブラウズ情報のビルドに使用) を生成します。無効にすると、[Generate .BSC file] の設定に応じて .SBR ファイルの生成を決定します。このため Incredibuild と MSVC の両方でプリコンパイル済みヘッダーを使ったプロジェクトをビルドすると、相互運用上の問題が生じることがあります。

Generate .BSC (Source Browser database) file

BSCMake ステップ (ブラウズ情報のビルド) の実行方法を次から選びます。

注意: [プロジェクト設定に従って常に .SBR ファイルを生成する] オプションが選択されている場合、「.BSC ファイルを生成する」オプションとプロジェクト設定の間の競合は、プロジェクト設定に従って決定されます。

Interoperability

Interoperability ページでは、 Incredibuild の相互運用モードをコントロールします有効にすると、Incredibuild と Visual Studio で生成した中間ファイルを相互に利用します。無効にすると、プレコンパイル済みのヘッダーを使用したプロジェクトや複合ソース (Incredibuild と標準の MSVC ビルド) によってコンパイルされた「.OBJ」ファイルが含まれるプロジェクトをビルドできない場合があります。

次の場合、相互運用モードが必須です。

相互運用モードが有効な場合、Microsoft コンパイラの実行ファイル (cl.exe) に Windows System32 フォルダ内に格納されている Incredibuild ダイナミック ライブラリの「xgInterop.dll」の依存関係が追加されます。無効にすると、コンパイラの実行ファイルは元に戻り、依存関係は削除されます。

Visual Studio .NET / 2005 / 2008 Interoperability

設定は次の通りです。

[Enable]: Visual Studio との相互運用を有効にします。

[Disable]: Visual Studio との相互運用を無効にします。

画面の下部には相互運用モードが有効なすべてのビルド プラットフォームと対応するコンパイル ファイルのパスの一覧が表示されます。