このページでは

Qtのクロスコンパイル

このページでは、Qtのクロスコンパイルに関する一般的な手順と要件について説明します。

単にホスト用 Qt をビルドする方法をお探しの場合は、「Qt のホストビルドの作成」を参照してください。

用語と定義

クロスコンパイルとは、ホストプラットフォームとは異なるターゲットプラットフォーム向けに構成およびビルドを行うことを意味します。

ホストとは、Qt をビルドしているコンピュータ(たとえば Linux マシン)のことです。ターゲットとは、Qt をビルドする対象となるデバイス(たとえば Android タブレット)のことです。

Qt をビルドする際には、コードを生成したり、その他の処理を行ったりするいくつかのツールが実行されます。これらのツールはホスト上で実行されるため、ホストツールと呼ばれます。これらのホストツールは、Qt のホストビルドの一部です。このホストビルドは、ターゲットプラットフォーム向けの Qt をビルドするための前提条件として準備しておく必要があります。

Qtの最小限のホストビルドとは、Qtのターゲットビルドを作成するために必要なホストツールのみを含むQtのホストビルドのことです。

QtはCMakeを使用してビルドされますが、CMakeはクロスコンパイルを行う際にツールチェーンファイルを必要とします。このファイルには、ターゲットプラットフォームおよび使用されるツールチェーンに関する情報が含まれています。クロスコンパイルについては、CMakeのドキュメントを参照してください。

一部のターゲットプラットフォームでは、Qtのconfigureスクリプトが自動的にこのファイルを選択します。詳細については、目的のターゲットプラットフォーム固有のドキュメントを参照してください。

一部のターゲットプラットフォームでは、sysrootを指定する必要があります。これは、アプリケーションのコンパイルおよびリンクに必要なすべてのファイルとライブラリを含む、自己完結型の環境です。

Qtのホストビルドに関する一般的な注意事項

ターゲット向けの Qt ビルド中は、moc 、rcc 、qmlcachegen 、qsb などのツールが、そこから呼び出されます。 たとえば、x64マシン上でARM向けのクロスコンパイルを行う場合、まず同じQtバージョンのローカルx64ビルドを用意する必要があります。このQtビルドへのパスは、configure またはcmake に渡されます。Qtのホストビルドは、通常、ホストデバイス向けの通常のQtビルドです。

Qtのホストビルドには、ターゲットプラットフォーム向けのQtをビルドするために必要なすべてのホストツールが含まれている必要があります。たとえば、ターゲットのQtがQt Quick をサポートする予定の場合、ホストのQtにはシェーダーコンパイラであるqsbが含まれている必要があります。 ホスト側のQtが必要なツールをすべて提供していることを確認する簡単な方法は、ターゲットで必要となるのと同じQtモジュールをホスト上でビルドすることです。

ターゲットQtが共有モードでビルドされる場合、ホストQtを静的モードでビルドすることは避けてください。Qtの静的ビルドには、共有モードのQtをビルドするために必要なすべてのツールが含まれていない可能性があります。

互換性の問題を避けるため、ホストとターゲットの Qt には同じバージョンの Qt を使用するようにしてください。

Qt のホストビルドの作成

そのプラットフォーム用の Qt をビルドする方法の詳細については、目的のホストのドキュメントを参照してください。

最小限のホスト用 Qt をビルドするには、Qt を設定した後、次のビルドコマンドを実行してください。

mkdir ~/QtHostBuild
cd ~/QtHostBuild
~/QtSource/configure -developer-build -nomake tests
cmake --build . --target host_tools

このビルドは、ホストプラットフォーム向けの Qt プログラムの開発には適していませんが、Qt をクロスビルドするために必要なツールは含まれています。

クロスコンパイル時の Qt ホストビルドの指定

クロスコンパイルを行う際は、ターゲットの Qt をホストの Qt の場所に指定する必要があります。

configure スクリプトを使用する場合は、次のように指定します。

~/QtSource/configure -qt-host-path ~/QtHostBuild ...target-specific options...

CMakeを直接使用する場合は、次のように指定します

cmake -S ~/QtSource -DQT_HOST_PATH=~/QtHostBuild ...target-specific options...

ターゲット固有のオプションについては、目的のターゲットのドキュメントを参照してください。

© 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.