新しいクアッドコアコンピューターを手に入れましたが、nmakeは1つのプロセスしか使用していません。
私は、4つのプロセスを起動するためにスイッチ-j4が付いたmakeを使用していました。 nmakeに相当するものは何ですか?
[編集]以下の情報に基づいて、qmakeプロジェクトファイルにコマンドを追加できました。
QMAKE_CXXFLAGS + =/MP
どちらが効果的でしたか。どうもありがとう。
[〜#〜] msdn [〜#〜] によると、nmake
にはそのようなオプションはありません。
ただし、VC++コマンドラインコンパイラで/MP
オプションを使用し、複数のファイルを同時に渡すことで、コンパイラに複数のファイルを並行してビルドさせることができます。
> cl /MP a.cpp b.cpp c.cpp
ただし、ほとんどのMakefileはこのようにコンパイラを呼び出さないことに注意してください。通常、ソースファイルごとに個別にコンパイラを呼び出します。これにより、/MP
オプションが有用な処理を実行できなくなります。
nmake
にすべてのコアを使用するように指示する、Qtに関連しないもう1つの一般的な方法は、環境変数CL
を/MP
に設定することです。
set CL=/MP
nmake
すべてのCPUコアを使用します。
QTにはこのためのツールが想定されています http://qt.gitorious.org/qt-labs/jom
CMake 2.8.1 RC1 、これを書いている時点では、試す準備ができています NMake Makefiles JOM と呼ばれるNMakeの新しいジェネレーターをもたらし、それでNMakeを生成しますjomの特定の設定。これは、NMakeの置き換えのドロップです。したがって、NMakeを使用してマルチプロセッシング対応のビルドを提供します。
Incredibuild 複数のコア/複数のマシンでnmakeビルドを実行できると主張しています。経験はありません。
クイックグーグルで次のようになります: http://msdn.Microsoft.com/en-us/library/bb385193.aspx
これは通常のメイクファイルでは機能しませんが、同時に複数の.vcprojファイルを作成できる設定がVisual Studio 2005にあります(一方が他方に依存していない場合)。ツール->オプション->プロジェクトとソリューション->ビルドと実行-> [〜#〜] x [〜#〜]並列プロジェクトビルドの最大数。