Qt の configure オプション
configureは Qt のカスタムバージョンをソースからビルドするためのコマンドラインツールです。メインの Qt ソースディレクトリの一部です。
Qt 6 以降、configure は CMake のラッパーです。CMakeは直接呼び出すこともできます。configureは、追加のエラーチェックとQt 5との互換性を提供します。
このページでは configure のオプションのいくつかを説明します。オプションの全リストは、コマンドconfigure -h を入力してください。
注意: 特に断りのない限り、このページのコマンドは Linux プラットフォーム用です。macOSとWindowsでは、PATH とディレクトリ構造が異なるため、コマンドも異なります。また、Windowsシステムでは、configureスクリプトはconfigure.bat と呼ばれます。
configure ワークフロー
configureは、CMake、コンパイラ、必要なビルドツールがすぐに利用できるビルド環境で呼び出す必要があります。Building Qt Sources」に、プラットフォームごとの依存関係が記載されています。
そのような環境を設定した後、典型的なワークフローは、別のビルドディレクトリを作成し、最初にconfigureを実行し、次にQtをビルドし、Qtをインストールすることです:
~/qt-source/configure cmake --build . --parallel cmake --install .
configureのフラグを変えてみたり、複数回configureを実行してみたくなるかもしれません。CMakeはconfigureオプションと環境に関する情報をCMakeCache.txtというファイルにキャッシュします。キャッシュされた情報なしでやり直したい場合は、このファイルを削除してください。
ソース、ビルド、インストールディレクトリ
ソースディレクトリには、ソースパッケージまたは git リポジトリから取得したソースコードが格納されています。ビルド・ディレクトリには、ビルド・システム・ファイル、オブジェクト・ファイル、その他の中間ファイルなどのビルド関連ファイルが格納されます。installディレクトリには、システムまたはアプリケーションで使用するバイナリやライブラリがインストールされます。
シャドウビルドを行い、-prefixオプションを使用することで、これらのディレクトリを分けておくことをお勧めします。これにより、Qt のソースツリーを、ビルドの成果物やバイナリからクリーンに保つことができます。この方法は、同じソースツリーから複数のビルドを行いたい場合に非常に便利です。シャドウビルドするには、別のディレクトリから configure を実行する:
mkdir ~/qt-build cd ~/qt-build ~/qt-source/configure -prefix /opt/Qt6
prefixオプションを付けてconfigureを実行すると、Qtのバイナリとライブラリが別のディレクトリ(この場合は/opt/Qt6)にインストールされます。
例、テスト、ツール
デフォルトでは、configuration は Qt のライブラリとツールだけを設定します。-make examples や-make tests を使って、Qt に付属するサンプルやテストもビルドすることができます:
~/qt-source/configure -make examples -make tests
Qt に付属するサンプルやテストもビルドしたい場合は、 または 。CMake 変数QT_BUILD_EXAMPLES_BY_DEFAULT 、QT_BUILD_TESTS_BY_DEFAULT 、QT_BUILD_TOOLS_BY_DEFAULT を OFF に設定すると、それぞれのパーツはcmake --build . によってビルドされません。その代わりに、CMake は個別のターゲットを生成し、それを個別にビルドすることができます。
ここでは、Qt ライブラリとツール、そしてNotePad Example をビルドします:
~/qt-source/configure -make examples -- -D QT_BUILD_EXAMPLES_BY_DEFAULT=OFF cmake --build . --parallel cmake --build . --parallel --target notepad
Note: -developer-build オプションはデフォルトでテストをビルドします。以下のDeveloper Buildsも参照してください。
ビルドの設定
Qt ライブラリやツールは様々な方法でビルドすることができます。
デバッグビルドとリリースビルド
-release コンパイラにコードを最適化するように指示し、Qt とそのツールと共に追加のデバッグシンボルを提供しません。
-debug Qt とそのツールのデバッグを容易にするために、いくつかの最適化をスキップします。このオプションは、デバッガでビルドされたライブラリのコードと状態を検査するためのデバッグシンボルの生成も可能にします。
最後に、-debug-and-release では、Qt ライブラリのデバッグ版とリリース版の両方を一度にビルドできます。これは Windows 用のビルドを設定した場合のみサポートされます。
さらに、設定を微調整するためのオプションがあります:
-force-debug-info:デバッグ情報を含むリリースビルドを作成します。-separate-debug-info:デバッグ情報を別のファイルに抽出します。-optimize-size:リリースビルドをスピードではなくサイズに最適化します。
静的ビルドと共有ビルド
Qt モジュールは独立したライブラリとしてビルドすることができ、実行ファイルがリンクして起動時(Qt ライブラリの場合)や実行時(Qt プラグインの場合)にロードされます。これは共有ビルドと呼ばれ、ほとんどのプラットフォームでデフォルトの設定です。対応する configure オプションは-shared です。
また、実行バイナリがリンクするすべての Qt モジュールと必要なすべての Qt プラグインを含むように Qt をビルドすることもできます。これは静的ビルドと呼ばれ、-static オプションで設定するときに選択できます。
CMake ジェネレーター
設定時に、CMake ジェネレーターを選択することができます。CMakeはQtで使用できないジェネレータをサポートしていることに注意してください。そのため、configure は自動的にジェネレータを選択します。
configureは、ninjaの実行ファイルが利用可能な場合、常にNinja ジェネレータとビルドツールを使用します。Ninjaはクロスプラットフォームで、機能が豊富で、パフォーマンスも高く、すべてのプラットフォームで推奨されます。他のジェネレータでも動作するかもしれませんが、公式にはサポートされていません。
モジュールと機能
Qtのソースコードは、サブモジュールと呼ばれるいくつかのトップレベルのディレクトリにまとめられています。例えば、qtbase 、qtdeclarative 、qtmultimedia などです。これらのサブモジュールの中には、さまざまなQtモジュールのソースコードがあります。 Qt Core, Qt Quickや Qt MultimediaはそのようなQtモジュールの例です。
注意: 多くのサブモジュール(トップレベルのソースディレクトリ)は、実装しているQtモジュールと同じ名前を持っていますが、必ずしもそうではありません。例えば、qtdeclarative には Qt Quickと Qt Qmlと様々な関連モジュールが含まれています。それぞれのディレクトリにある README.md ファイルを参照してください。
ビルド時間を制限するために、サブモジュールを明示的に含めたり除外したりすることができます。さらに、各 Qt モジュールには、明示的に有効または無効にできる機能があるかもしれません。
Qt サブモジュールのインクルードと除外
configure の-skip オプションは、Qt のビルドからサブモジュール(トップレベルのソースディレクトリ)を除外するために使用します。サブモジュールを除外すると、そのサブモジュール内のすべてのQt モジュールが除外されます。qtwayland サブモジュールには Qt Wayland Compositorと Qt Wayland QPA プラグインの両方が含まれています。そのため、-skip qtwayland を configure オプションとして指定すると、両方のQt モジュールが除外されます。
~/qt-source/configure -skip qtwayland
configureの -submodules オプションを使用すると、リストされたサブモジュールとその依存関係のみをビルドするように設定できます。例えば、qtmultimedia サブモジュールを指定します、 Qt Multimediaとその依存関係すべてがビルドに含まれます。複数のサブモジュールをコンマで区切ることができます。
~/qt-source/configure -submodules qtmultimedia,qtactiveqt
機能のインクルードまたは除外
-feature-<feature>オプションと-no-feature-<feature>オプションは、それぞれ特定の機能を含めたり除外したりします。
例えば、-no-feature-accessibility configure オプションを使って、Qt のAccessibilityサポートを無効にすることができます:
~/qt-source/configure -no-feature-accessibility
コマンドラインで利用可能な機能の一覧を表示するには、configure -list-features を使用します。機能は他の機能に依存することがあるので、ある機能を無効にすると他の機能に副作用があるかもしれないことに注意してください。
サードパーティライブラリ
Qt のソースパッケージにはサードパーティのライブラリが含まれています。Qt がシステムのバージョンのライブラリを使用するか、バンドルされているバージョンを使用するかを設定するには、設定するライブラリ名の前に-system または-qt のどちらかを渡します。
以下の表は、いくつかのサードパーティオプションをまとめたものです:
| ライブラリ名 | Qt にバンドル | システムにインストール |
|---|---|---|
| zlib | -qt-zlib | -system-zlib |
| libjpeg | -qt-libjpeg | -system-libjpeg |
| libpng | -qt-libpng | -system-libpng |
| フリータイプ | -qt-freetype | -system-freetype |
| PCRE | -qt-pcre | -system-pcre |
| HarfBuzz-NG | -qt-harfbuzz | -system-harfbuzz |
-qt の代わりに-no を使うことで、これらのライブラリのサポートを無効にすることもできます。
Qt 6 の configure は CMake に依存してサードパーティライブラリを探します。これは、様々なシステムパスをチェックすることで行います。他の場所にライブラリをインストールした場合は、CMAKE_PREFIX_PATH 変数を設定または拡張することで、CMake にそれを知らせることができます。
オプションの完全なリストについては、configure -help のヘルプを参照してください。
SSL
Qt Network はセキュア・ソケット・レイヤー(SSL)の通信をサポートするように設定できますが、実際のアルゴリズムそのものを実装するわけではありません。代わりに他のライブラリを利用する必要があります。
Windows では、Qt はこの目的のためにシステムの Secure Channel ライブラリを使用できます(configure オプション-schannel )。macOS と iOS では、Qt は SecureTransport API を使用するように設定できます (configure オプション-securetransport)。
ほぼすべてのターゲットプラットフォームで動作する、最も機能的に完全なサポートは、OpenSSL ツールキットによって提供されます (option-openssl)。Qt は OpenSSL 1.1.1 以降を必要とします。
Qt は、3 つの方法で OpenSSL を使用するように設定できます:
- Qt Network Qt が OpenSSL を使用するように設定するには、次の 3 つの方法があります。見つからない場合、アプリケーションの実行は継続しますが、SSL通信の処理に失敗します。これは、configureオプション
-openssl-runtimeを使うことで有効になります。 - Qt Network はOpenSSLライブラリにリンクします。ロード時に見つからない場合、アプリケーションは起動に失敗します。これはconfigureオプション
-openssl-linkedを使うことで有効になります。 - Qt Network はOpenSSLライブラリの静的バージョンに対してコンパイルし、OpenSSLはQt Network ライブラリの一部になります。これは、configure オプション
openssl-linkedを使用し、変数OPENSSL_USE_STATIC_LIBSをONに設定することで有効になります。
OpenSSLが標準の場所にインストールされておらず、configureで見つからない場合は、CMake変数OPENSSL_ROOT_DIR を設定します。
SSL をサポートした Qt に関する詳しい説明はSecure Sockets Layer (SSL) Classesを参照してください。
クロスコンパイルオプション
クロスプラットフォームの開発とデプロイメント用に Qt を設定するには、まずホストマシンの Qt バージョンが一致している必要があります。また、ターゲットプラットフォーム用の開発ツールチェーンをセットアップする必要があります。この設定は、サポートされているプラットフォームによって異なります。
一般的なオプションは以下の通りです:
-external-hostbindir- このマシン用にビルドされた Qt ツールへのパス。-device- qmakeコンパニオンファイルのdevices/mkspecを選択します。-device-option- 追加の qmake 変数を設定します。
注意: デスクトップ以外のターゲット用のツールチェーンには、Qt を設定する必要がある、いわゆるsysrootが付属していることがよくあります。
開発者向けビルド
-developer-build configure オプションは、Qt 自体の開発用にビルドを最適化する便利なオプションです。顧客に出荷する Qt のビルドには使用しないでください。
開発者ビルドのライブラリは標準ビルドよりも多くのエクスポートシンボルを含み、すべての Qt コードはより高い警告レベルでコンパイルされます。また、ビルドディレクトリのデフォルトのプレフィックスを変更することで、テスト前に Qt をインストールする必要がなくなります。
既存のビルドの再設定
Qt ビルドシステムには、既存の Qt ビルドを別の configure オプションで再設定するための基本的なサポートがあります。
既存のビルドを再設定する最も安全な方法は、-redo オプションを configure に渡すことです。これにより、ビルドのCMakeCache.txtファイルが削除され、再設定が比較的安全な状態になります。最初の configure フラグは、再設定されたビルドにも適用されます。
configure の概要とオプションのインストール
Qt 6.9 以降では、configure サマリーファイルとconfigure に渡されるオプションを、インストールの一部として自動的に含めることができます。
この機能は、CMake 変数QT_INSTALL_CONFIG_INFO_FILES をON に設定することで有効になります:
~/qt-source/configure -prefix /opt/Qt6 -- -D QT_INSTALL_CONFIG_INFO_FILES=ON
インストール中、configure サマリーとオプションのテキストファイル(ビルドの各リポジトリー用)がarchitecture-independent Qt data directory にコピーされます。
例えば
/opt/Qt6/config_qtbase.opt /opt/Qt6/config_qtbase.summary /opt/Qt6/config_qtdeclarative.opt /opt/Qt6/config_qtdeclarative.summary ...
プラットフォーム固有のオプション
次のページでは、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.