CMake プロジェクトで Qt を利用可能にする

現在、ユーザープロジェクトで Qt を利用できるようにする唯一の方法は、システムに Qt をプリインストールすることです。 find_packagevcpkg のようなものです。

を使用することです。 Qt Creatorqt-cmake (Windows ではqt-cmake.bat ) を使用する場合、Qt のインストール場所は自動的に CMake 呼び出しに転送されます。

cmake を直接使用する場合、CMake が使用する一般的な検索パスは、Qt のほとんどの非ユーザーインストールをカバーするはずです。どの Qt パッケージを使用するかをより詳細に制御するには、Qt のインストールパスを指す環境変数またはキャッシュ変数としてhttps://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html Qt6_ROOT を渡すか、同様の方法でCMAKE_PREFIX_PATH に追加または追記します。例えば、インストール・パスが"~/Qt/6.9.1/gcc_64" の場合、コマンドラインで-DQt6_ROOT=$HOME/Qt/6.9.1/gcc_64 として渡します。

注意: クロス・コンパイル(WebAssembly や Android など、使用しているプラットフォーム以外のプ ラットフォーム用にコンパイルすること)する場合や、バニラのcmake を使用する場合は、Qt6_ROOTCMAKE_PREFIX_PATH のような検索パスの代わりにCMAKE_TOOLCHAIN_FILE を設定します。Linux では、(特定のターゲット・プラットフォームに固有の)ツールチェー ン・ファイルは通常、次のようなパスにあります:"~/Qt/6.9.1/wasm_singlethread/lib/cmake/Qt6/qt.toolchain.cmake" 。これはCMAKE_PREFIX_PATH,CMAKE_FIND_ROOT_PATH,QT_HOST_PATH のような必要な変数を設定します。

cmake_minimum_required(VERSION 3.16)

project(helloworld)

find_package(Qt6 REQUIRED)

Qtパッケージは様々なモジュールに分割されており、プロジェクトの範囲に応じてインクルードする必要があります。

find_package(Qt6 REQUIRED COMPONENTS Core)

最近の CMake では、FetchContent のような他の依存関係プロバイダもサポートしていますが、FetchContent を使用した Qt の使用は、CMake 自体に Qt の機能が緊密に統合されているため、サポートされていません。add_subdirectory や Git サブモジュールを使った Qt ソースの追加もサポートされていません。

注意: find_package(Qt6) を使用する場所以外のサブディレクトリで呼び出したり、function の中で呼び出したりすることはサポートされていません。そうすることで、予測できない場所でさまざまな障害が発生する可能性があります。

代わりに、Qt 関数を使用するすべてのサブディレクトリのスコープでfind_package(Qt6) を繰り返し呼び出すか、find_package(Qt6) の呼び出しをルートCMakeLists.txt に移動してください。

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