コマンドラインでのプロジェクトのビルド
このページでは、既存のプロジェクトの設定およびビルド方法について説明します。Qt ベースの CMake プロジェクトの作成方法については、CMake の入門ドキュメントを参照してください。
Qtプロジェクトをビルドするには、CMakeにQtのインストール場所を指定する必要があります。通常、これはCMake変数CMAKE_PREFIX_PATHにQtのインストールプレフィックスを設定することで行います。クロスコンパイルを行う場合は、「クロスコンパイル」を参照して、設定が必要な追加の変数について詳細を確認してください。
Qt Online Installer を使用してQtをインストールした場合は、最上位のインストールディレクトリ内からQtのバージョンを選択してください。たとえば、Windowsでの手順は次のコマンドの通りです。
cmake -DCMAKE_PREFIX_PATH=C:\Qt\6.12.0\msvc2022_64 -S <source-dir> -B <build-dir><source-dir> および<build-dir> のプレースホルダーは、プロジェクトのソースディレクトリおよびビルドディレクトリを表します。
CMake ジェネレータ
CMakeは、GNU MakeやNinjaなどのビルドツールがプロジェクトをビルドできるようにするための、必要なビルドシステムファイルを生成します。
CMakeのデフォルトのジェネレータは、プラットフォームやビルド環境によって異なります。たとえば、Windowsでは、Visual Studio環境が検出されると、CMakeはVisual Studioプロジェクトファイルを生成します。
すべてのプラットフォームで一貫した開発体験を得るには、Ninja またはNinja Multi-Config ジェネレータを使用してください。
CMakeジェネレータは、CMAKE_GENERATOR 環境変数を設定するか、-G 引数を使用することで選択できます:
cmake -G Ninja ...qt-cmake
qt-cmake スクリプトは、プロジェクトを構成するための便利な代替手段です。これにより、CMAKE_PREFIX_PATH を指定する必要がなくなります。このスクリプトは、Qtのインストール先ディレクトリ内のbin ディレクトリにあります。このスクリプトはすべてのパラメータをCMakeに渡すため、cmake を使用するのと同じように利用できます:
C:\Qt\6.12.0\msvc2022_64\bin\qt-cmake -G Ninja -S <source-dir> -B <build-dir>ビルドシステムファイルが生成されたら、プロジェクトのビルド準備が整います:
cd <build-dir>
ninjaジェネレータに依存しない CMake コマンドを使用することもできます:
cmake --build <build-dir>クロスコンパイル
開発マシンとは異なるプラットフォーム向けにプロジェクトをビルドすることを、クロスコンパイルと呼びます。例として、Windowsマシン(ホストプラットフォーム)上でAndroid(ターゲットプラットフォーム)向けのビルドを行う場合が挙げられます。
CMake を使用したクロスコンパイルでは、ほとんどのプラットフォームでツールチェーンファイルが必要です。また、ターゲットプラットフォーム用の Qt バージョンに加え、開発ホスト用の Qt バージョンも必要です。たとえば、Windows 上で Android 向けのクロスコンパイルを行うには、Windows 用の Qt と Android 用の Qt がインストールされている必要があります。
ターゲットプラットフォーム向けのQtインストールディレクトリにあるqt-cmake を使用して、そのプラットフォーム向けにプロジェクトをクロスコンパイルします:
<target-qt>/bin/qt-cmake -S <source-dir> -B <build-dir>これにより、プロジェクトがターゲットプラットフォーム向けに設定されます。ツールチェーンファイルが自動的に渡され、場合によってはその他のプラットフォーム固有の変数も設定されます。
カスタムツールチェーンファイルの指定
qt-cmake スクリプトは、Qt内部のツールチェーンファイルをCMake に渡します。このツールチェーンファイルは、Qt のターゲットプラットフォームに固有のいくつかの変数を設定します。
お使いのマシン上でビルドされていないQtインストールを使用している場合、qt-cmake にはターゲットプラットフォーム用のCMakeツールチェーンファイルの場所を指定する必要があります。
そのような場合、QT_CHAINLOAD_TOOLCHAIN_FILE 変数を設定することで、qt-cmake にカスタムツールチェーンファイルをチェーンロードするよう指示できます。
~/Qt/6.12.0/android_armv7/bin/qt-cmake -DQT_CHAINLOAD_TOOLCHAIN_FILE=<file-path> -S <source-dir> -B <build-dir>これにより、Qtの内部ツールチェーンファイルが、カスタムツールチェーンファイルも併せて読み込むようになります。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.