質問

新しいクアッドコアコンピューターを入手したところ、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関連の方法は、環境変数 CL / MP に設定することです:

set CL=/MP
nmake

すべてのCPUコアを使用します。

QTにはこのためのツールがあります http://qt.gitorious.org/qt-labs/jom

CMake 2.8.1 RC1 は、これを書いている時点で試してみる準備はできていますが、 NMake Makefiles JOM を実行すると、jomの特定の設定でNMakeが生成されます。これは、NMakeの置き換えのドロップです。したがって、NMakeを使用してマルチプロセス対応のビルドを提供します。

Incredibuild は、複数のコア/複数のマシンでnmakeビルドを実行できると主張しています。経験はありません。

これは通常のメイクファイルでは機能しませんが、Visual Studio 2005には複数の.vcprojファイルを同時にビルドできる設定があります(一方が他方に依存していない場合)。ツール->オプション->プロジェクトとソリューション->ビルドと実行-> X 並列プロジェクトビルドの最大数。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top