Qt in CMake-Projekten verfügbar machen
Derzeit ist die einzige unterstützte Methode, Qt für Benutzerprojekte bereitzustellen, die Vorinstallation auf dem System oder ein gleichwertiger Arbeitsablauf, bei dem Qt im Voraus kompiliert und find_package, wie z. B. vcpkg.
Bei Verwendung von Qt Creator oder qt-cmake (unter Windows:qt-cmake.bat ) wird der Installationspfad von Qt automatisch an den zugrunde liegenden CMake-Aufruf weitergeleitet.
Bei direkter Verwendung von cmake sollten die von CMake verwendeten allgemeinen Suchpfade die meisten Nicht-Benutzer-Installationen von Qt abdecken. Um genauer steuern zu können, welches Qt-Paket verwendet werden soll, können Sie https://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html Qt6_ROOT als Umgebungs- oder Cache-Variable übergeben, die auf den Qt-Installationspfad verweist, oder den Ordner „ CMAKE_PREFIX_PATH “ auf ähnliche Weise ergänzen oder erweitern. Wenn der Installationspfad beispielsweise "~/Qt/6.12.0/gcc_64" lautet, würden Sie ihn in der Befehlszeile als -DQt6_ROOT=$HOME/Qt/6.12.0/gcc_64 übergeben.
Hinweis: Bei der Cross-Kompilierung (Kompilierung für eine andere Plattform als die, auf der Sie sich gerade befinden, z. B. WebAssembly oder Android) und bei der Verwendung von „Vanilla“ cmake sollten Sie CMAKE_TOOLCHAIN_FILE anstelle von Suchpfaden wie Qt6_ROOT oder CMAKE_PREFIX_PATH festlegen. Unter Linux befindet sich die Toolchain-Datei (spezifisch für eine bestimmte Zielplattform) in der Regel unter einem Pfad, der in etwa so aussieht: "~/Qt/6.12.0/wasm_singlethread/lib/cmake/Qt6/qt.toolchain.cmake". Dadurch werden die erforderlichen Variablen wie „ CMAKE_PREFIX_PATH “, „ CMAKE_FIND_ROOT_PATH “ und „ QT_HOST_PATH “ gesetzt.
cmake_minimum_required(VERSION 3.16)
project(helloworld)
find_package(Qt6 REQUIRED)Das Qt-Paket ist in verschiedene Module unterteilt, die Sie je nach Umfang Ihres Projekts einbinden müssen; das grundlegendste davon ist
find_package(Qt6 REQUIRED COMPONENTS Core)Modernes CMake unterstützt andere Abhängigkeitsanbieter wie FetchContent; die Verwendung von Qt mit FetchContent wird jedoch aufgrund der engen Integration von Qt-Funktionen in CMake selbst nicht unterstützt. Das Hinzufügen von Qt-Quellcode über add_subdirectory und Git-Submodule wird ebenfalls nicht unterstützt.
Hinweis: Der Aufruf von „ find_package(Qt6) “ in einem anderen Unterverzeichnis als dem, in dem es verwendet wird, oder innerhalb eines „ function “ wird nicht unterstützt. Dies kann zu verschiedenen Fehlern an unvorhersehbaren Stellen führen.
Rufen Sie stattdessen „ find_package(Qt6) “ wiederholt in allen Unterverzeichnisbereichen auf, in denen Qt-Funktionen verwendet werden, oder verschieben Sie den Aufruf von „ find_package(Qt6) “ in das Stammverzeichnis „ CMakeLists.txt “.
© 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.