Qt Creator の高速化

Qt Creator は Qt フレームワークでアプリケーションを設計・開発するために必要なツールを備えた統合開発環境 (IDE) です。Incredibuild を使えば Qt Creator のビルドも高速化できます。

Qt Creator を高速化するには Incredibuild プラグインを有効にするだけです。プラグインは最近のバージョンではすぐに利用できますが、以前のバージョンではダウンロードが必要です。

対応バージョンとビルドシステム

Incredibuild プラグインは、Qt Creator 4.2 ~ 4.12.2 に対応しています。Incredibuild Windows と Incredibuild Linux のどちらとの統合も可能です。Qt Creator は様々なビルドシステムでビルドを実行できますが、Incredibuild が対応しているビルドシステムは次の通りです。

  • jom

  • ninja

  • waf

  • make

  • CMake / qmake

Incredibuild はこれらのビルドシステムで使用する一般的なコンパイラをすべてサポートしています。

Incredibuild プラグインを有効にする

  1. Incredibuild がインストールされていることを確認します。

  2. Incredibuild プラグインをインストールします。

    • Qt バージョン 4.12.1 以前の場合: 対応するプラグイン ファイル (後述のリンクを参照) をダウンロードして、次のディレクトリに保管します。
      QtCreator\lib\qtcreator\plugins

    • Qt Creator 4.12.2をご使用の場合:

      Qt Creator のメニューから [ヘルプ] > [インストール済みプラグイン] (macOS の場合は [Qt Creator] > [プラグインについて]) に移動して [Incredibuild] のチェックボックをオンにします。

  3. [詳細] をクリックするとプラグインのビルド設定を編集できます。設定内容は Windows と Linux で異なります。設定内容の詳細は下の「Incredibuild プラグインの設定」をご覧ください。

ドロップダウン メニューや定義済みのテキスト フィールド以外のテキスト フィールドに Qt 変数を入力できます。入力した変数は Incredibuild によって適切な値に自動的に変換されます。

使用方法

Incredibuild プラグインのインストールが済んだら、Qt Creator の [プロジェクト] アイコン > [ビルド設定] メニューから「Incredibuild for Windows」または「Incredibuild for Linux」のビルド ステップを追加できるようになります。Incredibuild は定義済みのビルド ステップを繰り返すことで、現在のビルド設定で使われているビルド ステップを自動的に検出します。検出されたステップは Incredibuild のビルド ステップに組み込まれ、ビルドツールはそのままで、Incredibuild による高速化が追加されます。Incredibuild のビルド ステップを追加するとプロジェクトのすべての構成に適用するかどうか尋ねられます。これに同意すると、関連するすべてのビルド設定に Incredibuild のステップが自動的に追加されます。Incredibuild のステップが追加されたら、プロジェクトの構成で各ステップが適切に設定されたことを確認して、以前のステップを無効にすることをお勧めします。

qmake の例

この例では、下の make のビルド ステップで定義された make ビルドツールを作成するための qmake コマンドを定義しています。Incredibuild のビルド ステップを追加すると、[コマンドヘルパー] で前回のビルド ステップで使用したビルドツール(この場合は make)が選択されます 。[Incredibuild for Windows] の [Make コマンド] フィールドには、make のビルド ステップで指定した「jom.exe」を格納したディレクトリが入力されているのが分かります。

CMake の例

この例でも、Incredibuild のビルド ステップを追加すると、[コマンドヘルパー] でビルドツールが自動的に CMake が選択されます。
元のビルド ステップが無効になり、コンパイルには Incredibuild のビルド ステップが使用されます。設定を戻すには、Incredibuild のビルド ステップを無効にして、元のビルド ステップを有効にするだけです (下の画像を参照)。

Incredibuild を使ったビルドの実行

Incredibuild のビルド ステップを設定して、通常通りに Qt Creator でプロジェクトをビルドするだけでコンパイルに Incredibuild が使用されます。

Incredibuild コンソールの出力は Qt Creator の [コンパイル出力] コンソールに表示されます。

[詳細] で [Open Monitor] のチェックボックスをオンにしている場合は (デフォルトではオン)、Incredibuild のビルドモニターが自動的に表示されます。

Incredibuild プラグインの設定

Windows の場合

項目

説明

Profile.xml

Profile.xml ファイルは、自動割込みインターフェイスで分散ジョブ関連の各種プロセスの処理方法を定義するのに使用します。「Visual Studio」や「Make & Build ツール」でのビルドには不要ですが、これらのパッケージに含まれていないプロセスをビルドに追加したい場合は、このファイルを使って構成オプションを提供できます。「DevTools」ビルドでは分散可能なプロセスを設定するのに使用します。

Avoid Local

[Agent Settings] の [Avoid task execution on local machine when possible] の設定を上書きします。このオプションを有効にすると Initiator マシンのリソースが解放されます。Initiator マシンの CPU 使用率が高く、ビルドのボトルネックになっている場合に役立つことがあります。

Maximum CPUs to utilize in the build

ビルドで使用するリモート コアの上限数を指定します。ビルドで使用する CPU / コアの上限のグローバル設定を上書きします。

最新の許可されたHelper マシンOS

Helper としてビルドに参加できるマシンの OS (最新のバージョン) を指定します。

一番最初に許可されたHelper マシンのOS

Helper としてビルドに参加できるマシンの OS (最古のバージョン) を指定します。

Build Title

ビルド出力をテキスト表示する際にテキストの先頭に表示するカスタム ヘッダーを設定します。ここで設定した文字列がビルド履歴とビルドモニターにも表示されます。

Save Incredibuild monitor file

ビルド プログレス (.ib_mon) ファイルのコピーの保存場所を指定します。フォルダ名のみ指定した場合は該当ファイル名の GUID が生成されます。.ib_mon ファイルの保存場所がビルド出力の最後に追加されます。

Suppress STDOUT

標準出力に何も書き込みません。

Output Log file

ビルド出力をファイルに書き込みます。

Show Commands in output

Incredibuild がビルドで使用したCommand Lineを出力ファイルに表示します。

Show Agents in output

ビルドで使用した Agent を出力ファイルに表示します。

Show Time in output

ビルドの開始時刻と終了時刻を出力ファイルに表示します。

Hide Incredibuild Header in output

ビルド出力の「Incredibuild」ヘッダーを非表示にします。

Internal Incredibuild logging level

ビルドに適用する Incredibuild の内部ログのレベルを上書きします。出力やユーザーがアクセスできるログには影響しません。問題を調査する際にサポート部門で使用します。

Set an Environment Variable

ビルドのコンテキストに合わせて環境変数を設定または上書きします。

Stop On Errors

有効にするとエラーが発生した時点でビルドを停止します。「Visual Studio」のビルドではデフォルトで有効に設定されています (「Make & Build ツール」と「DevTools」のビルドではデフォルトで無効)。

Additional Arguments

buildconsole の引数を手動で追加します。この値は buildconsole のコマンドラインの末尾に追加されます。

Open Monitor

ビルドを開始時に Incredibuild ビルドモニターを起動して、ビルドの進捗状況をグラフィカルに表示します。

Keep Original Jobs Num

「true」に設定すると -j オプションが上書きされません。-j オプションは並列実行するプロセスの数を指定するのに使用します。デフォルトでは大きな値 (既定値は「200」) が設定されます。

Linux の場合

説明

項目

Specify nice value

nice 値を指定します(-20 ~ 19)。

Internal Incredibuild logging level

ビルドに適用する Incredibuild の内部ログのレベルを上書きします。出力やユーザーがアクセスできるログには影響しません。問題を調査する際にサポート部門で使用します。

Keep Original Job Number

「true」に設定すると -j オプションが上書きされません。-j オプションは並列実行するプロセスの数を指定するのに使用します。デフォルトでは大きな値 (既定値は「200」) が設定されます。

Alternatetasks preference

Forceremote

リモート Helper に「allow_remote」タスクを強制します。

Incredibuild プラグイン ファイル

お使いの OS や Qt のバージョンに該当するファイルをダウンロードして次のディレクトリにコピーします。
QtCreator\lib\qtcreator\plugins

Windows

Linux