4. QtCreatorとQGISで起動および実行する

QtCreatorは Qtライブラリ のメーカーによるIDEです。QtCreatorを使えばどんなC++プロジェクトでもビルドできますが、Qtベースのアプリケーション(モバイルアプリを含む)を開発する人向けに最適化されています。

4.1. QtCreatorをインストールする

Qt Creatorはすべての主要なプラットフォームで利用可能で、https://www.qt.io/download(オープンソースのルートへ)からダウンロードできます。インストール方法はプラットフォームによって異なります。

Unix系のプラットフォームを使っている場合は、コマンドラインを使うことができます。Debianの例:

sudo apt install qtcreator qtcreator-doc

インストール後、メニューにあるはずです。

4.2. プロジェクトを設定する

ソースコードを含むローカルのQGISクローンを入手し、必要なビルド依存物などをすべてインストール済みであると仮定します。詳しい説明は git accessdependency requirements にあります。

私たちのシステムでは、コードは $HOME/dev/cpp/QGIS にチェックアウトされ、記事の残りではそれを前提に書かれています。あなたのローカルシステムに合わせて、これらのパスを更新してください。

QtCreator を起動したら ファイル ► ファイルまたはプロジェクトを開く をします

それからこのファイルを参照して開くために、結果のファイル選択ダイアログを使用します:

$HOME/dev/cpp/QGIS/CMakeLists.txt
../../_images/selectCMakeLists.png

QtCreatorはプロジェクトを解析し、 プロジェクトの設定 ダイアログでビルド場所とオプションを要求されます。

QGISにデバッグ機能を持たせたいので、デバッグ項目のみを有効にして、ビルド場所を記入します:

  1. checkbox Select all kits をチェックして、Desktop エントリを有効にします

  2. checkbox Debug サブ項目以外のすべてのチェックを外します

  3. パスをビルドディレクトリで埋めます。ここでは、QtCreator専用のビルドディレクトリを作成します:

    $HOME/dev/cpp/QGIS/build-master-qtcreator
    

    ディスク容量に余裕があれば、ブランチごとに別々のビルドディレクトリを作るのがいいでしょう。

    ../../_images/configureProject.png

これが基本です。Confiture Project ボタンを押すと、QtCreatorがソースツリーをスキャンしてオートコンプリートサポートを開始し、バックグラウンドで他のメンテナンスを行います。

../../_images/configurationDone.png

ビルドに入る前にいくつか調整したいことがあります。

4.3. ビルド環境を設定する

QtCreator ウィンドウの左にある Projects アイコンをクリックしてください。

../../_images/leftPanel.png

Build 設定タブを選択します(通常はデフォルトでアクティブになっています)。

../../_images/buildSettings.png

このダイアログには Debug ビルド設定が表示され、 CMake セクションで設定を編集することができます。デフォルトの設定で最初のビルドを行うには十分ですが、必要に応じて以下のような機能を有効にすることもできます:

  • WITH_3D = ON は、3Dレンダリング

  • WITH_CUSTOM_WIDGETS = ON は、インタフェースデザイン用にQGISカスタムウィジェットを追加します

Apply Configuration Changes を押します。

デフォルトでは、Qt Creator は利用可能なすべての CPU コアを使用し、最大限の並列化でビルドを高速化します。コンピュータがフリーズしないようにこれを避けるするには、コア数を少なく指定する必要があります。Build Steps セクションの下にあります:

  1. Add build step ► メニューを押し、 Custom Process Step を選択します

  2. フォームに次のように入力します:

    • Command: make

    • Arguments: -j4 は、 4コアを使います(設定はあなたのデバイスによって異なります)

    • Working directory: %{buildDir}

../../_images/customProcess.png

注釈

また、ビルド時間を短縮したいのであれば、 ninja を使うことができます。これは make の代替ツールで、同じようなビルドオプションがあります。それを CMake generator として設定する必要があるでしょう:

  1. Tools ► Options ► Build & Run ► Kits を開きます

  2. Desktop (default) キットエントリを選択し、プロパティを表示します

  3. CMake generator の隣にある Change... を押します

これでビルドの準備ができました。ダイアログの左下にある build Build ボタン(または Ctrl+B )を押して、プロジェクトのビルドを開始します!Qt Creator のコンパイルが始まりますが、デバイスによっては初回に時間がかかる場合があります。

コンパイルの最後に、runInstall Run ボタンを押してQGISを実行することができます。

QGISのコンパイルでは、ビルドディレクトリにバイナリも生成されます。したがって、次を使ってQGISをコマンドラインから実行することができます:

cd $HOME/dev/cpp/QGIS/build-master-qtcreator
./output/bin/qgis

QGISを実行ファイルとしてビルドディレクトリの外にインストールしたい場合があります。

  1. CMAKE_INSTALL_PREFIX を書き込み可能な場所に設定します(ここでは $HOME/apps を使用します)。これにより、(例えばあなたのパッケージマネージャによる)既存のQGISのインストールが上書きされるのを防ぐことができます。

    ../../_images/customInstallPrefix.png
  2. Apply Configuration Changes を押して設定を更新します

  3. build ボタンを押します

  4. ビルドが完了すると、 $HOME/apps/bin フォルダに qgis 実行ファイルが作成されています。

4.4. 実行してデバッグする

これでQGISを実行してデバッグする準備が整いました。ブレークポイントを設定するには、単にソースファイルを開き、左側の列をクリックします。

../../_images/breakPoint.jpeg

ウィンドウの左下にある runDebug Start Debugging をクリックして、デバッガ下でQGISを起動します。