質問

私たちが開発している小型のQt C ++アプリのMINGW32のMakefileを生成するqmakeのを使用しています。私の問題:1つのスレッドだけの建物をやっている間に、これらすべてのデュアル/クアッドコアCPUがアイドル状態でそこに座っています。私が作るために--jobs 4を渡してみたものを並列化が、問題はそのqmakeのであるためには-fで再び呼び出さ作る内部が一般的なメイクファイルを生成します。

これは、メイクファイルを生成するときに作成するオプションを追加するqmakeのを強制することは可能ですか?それとも完全にqmakeは外のオプションを設定する別の方法がありますか?それは各ビルドを自動生成なので、私はその特定のMakefileを編集することはできません。

役に立ちましたか?

解決

オプションを渡す$MAKEを乱用すると、すべてのケースでは動作しません。多くの場合、(例えば、Unix上のQtのconfigureスクリプトで)、コマンドがスペースを含むことができるように二重引用符("$MAKE")で囲まれています。それが動作を停止する前に、私は同じトリックを使用するので、私は知っています。 Qtのサポートは、

のように$MAKEFLAGSを使用する(当然)提案しました
set MAKEFLAGS=-j4
make

他のヒント

これは私のために動作します:

設定MAKE_COMMAND = MINGW32-する-j%NUMBER_OF_PROCESSORS%

作る呼び出すときに、一般的なMakefileは$(MAKE)を使用していますので、あなたは、環境変数を使用して、それを上書きすることができます。このような何かがそれを行う必要があります:

  qmake
  make MAKE="mingw32-make -j4"
もちろん、必要に応じて、

MAKEの値を置き換えます。)

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