VS 2010で一度に複数のC++コンパイルプロセスを実行するにはどうすればよいですか?オブジェクトモジュールを並行して構築するということです。一度に複数のプロジェクトをビルドすることに興味はありません([ツール]> [オプション]> [ビルドと実行] <並列プロジェクトビルドの最大数について知っていますが、それは私が望むことをしません)。
基本的に、Visual Studioの「make -jN」に相当するものを探しています。
また、ロススミスがコメントで述べたように、プロジェクトの「マルチプロセッサコンパイル」オプションもオンにする必要があります。
マルチスレッドを使用してVSビルドを行うために設定する必要がある2つのスイッチがあります(両方ともプロジェクト固有です)。
「ツール」->「オプション」->「プロジェクトとソリューション」->「VC++プロジェクト設定」-> 最大同時C++コンパイル設定も確認してください。デフォルト値は0で、VSができるだけ多くの同時実行コンパイルを使用できるようにします。
ネクロリスのコメントは正しい解決策のようです。
/ MPオプションを使用すると、コンパイラーは、それぞれが個別のプロセスで1つ以上のコピーを作成します。これらのコピーは、ソースファイルを同時にコンパイルします。その結果、ソースファイルをビルドする合計時間を大幅に短縮できます。
プロジェクトレベルで設定でき(したがって、その中のすべてのファイルに適用)、個々のファイルに設定できることに注意してください。#import
を使用する必要がある場合などに便利です。
特に、/ MPは通常、プリコンパイル済みヘッダーまたは#import
を使用するソースと互換性がありません。この場合、プロジェクトに/ MPフラグを設定してから、単一ファイル(通常、stdafx.cpp、および#importを使用する任意のファイル)で/ MPフラグをクリアできます。
これが私がしたことです
1)[プロジェクトとソリューション]-> [ビルドと実行]の下にある[ツール]-> [オプション]に移動します。コアの数があります。最初はこれで十分だと思ったが、そうではない
2)プロジェクトを右クリックして、プロパティを選択します。 「構成プロパティ」->「C/C++」->「コマンドライン」の下に/MP4
ここで、4は使用しているコアの数です。フラグに互換性がないという警告が表示されるので、別のステップがあります
3)「構成プロパティ」->「C/C++」->「コード生成」の下に移動し、「最小再構築を有効にする」があります。いいえに変更します。
再構築すると、タスクマネージャーに複数のCLプロセスが表示されます。
jomはあなたが探しているツールです。
Wikiから: http://qt-project.org/wiki/jom
jomはnmakeのクローンで、複数の独立したコマンドの並列実行をサポートします。基本的に、GNU makeと同様の-jコマンドラインスイッチを追加します。
ほとんどのドキュメントは、WindowsでのQtライブラリのビルドを高速化しようとするQt開発者を対象としていますが、nmake互換のメイクファイルがある限り、jomはQt以外のプロジェクトでも完全に機能します。
Wikiページにはダウンロード可能なバイナリがあり、nmakeのようにjomを呼び出します。
そうですか!要件は、単一のプロジェクトを並列スレッドで構築することです。
Shark compiler Control プラグインは非常に便利です