コマンドラインでのプロジェクトのビルド
このページでは、既存のプロジェクトの設定とビルド方法について説明します。Qt ベースの CMake プロジェクトを作成する方法を知りたい場合は、CMake を始める方法のドキュメントを参照してください。
Qtプロジェクトをビルドするために、CMakeはQtのインストール場所を知る必要があります。通常、これはCMake変数CMAKE_PREFIX_PATHにQtのインストールプレフィックスを設定することで行います。クロスコンパイルする場合は、クロスコンパイルを参照してください。
Qt がQt Online Installer を使用してインストールされている場合は、トップレベルのインストール・ディレクトリにある Qt バージョンを選択してください。例えば、次のコマンドは Windows での実行方法を示しています:
cmake -DCMAKE_PREFIX_PATH=C:\Qt\6.8.2\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
スクリプトは、プロジェクトを設定するための便利な代替手段です。Qt-cmake スクリプトは、CMAKE_PREFIX_PATH
を指定する必要がありません。 Qt-cmake スクリプトは、Qt インストールプレフィックスのbin
ディレクトリにあります。このスクリプトはすべてのパラメータを CMake に渡しますので、cmake
を使うのと同じように使うことができます:
C:\Qt\6.8.2\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 用にクロスコンパイルするには、Qt for Windows と Qt for Android がインストールされている必要があります。
ターゲットプラットフォーム用の Qt インストールからqt-cmake
を使用して、そのプラットフォーム用にプロジェクトをクロスコンパイルします:
<target-qt>/bin/qt-cmake -S <source-dir> -B <build-dir>
これにより、プロジェクトがターゲット・プラットフォーム用に設定されます。ツールチェーンファイルが自動的に渡され、その他のプラットフォーム固有の変数が設定されます。
カスタム・ツールチェーン・ファイルの指定
qt-cmake
スクリプトは、Qt-internaltoolchain ファイルをCMake に渡します。このツールチェインファイルは、Qtのターゲットプラットフォーム固有の変数をいくつか設定します。
あなたのマシンでビルドされていない Qt インストールを使用している場合、qt-cmake
はターゲットプラットフォームの CMake toolchain ファイルの場所を知る必要があります。
このような場合、QT_CHAINLOAD_TOOLCHAIN_FILE
変数を設定することで、qt-cmake
にカスタムツールチェーンファイルのチェインロードを指示することができます:
~/Qt/6.8.2/android_armv7/bin/qt-cmake -DQT_CHAINLOAD_TOOLCHAIN_FILE=<file-path> -S <source-dir> -B <build-dir>
これは、Qtの内部ツールチェーンファイルに、あなたのカスタムツールチェーンファイルも読み込むように指示します。
© 2025 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.