QtQuick kompilieren
-
Hallo zusammen,
ich möchte ein Projekt deployen und dazu den QtQuick-Code kompilieren. Allerdings komme ich hier etwas durcheinander mit der Qt-Doku und dem was mir Qt6 so bietet.Zunächst mal habe ich in den Qt Docs geschaut wie das Ganze funktionieren soll. Dort fand ich folgendes:
https://doc.qt.io/qt-6/qtquick-deployment.html. Darin steht zunächst, dass man unter Verwendung von CMake
find_package(Qt5QuickCompiler) aufrufen soll. Und schon da scheitert es:By not providing "FindQt5QuickCompiler.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5QuickCompiler", but CMake did not find one. Could not find a package configuration file provided by "Qt5QuickCompiler" with any of the following names: Qt5QuickCompilerConfig.cmake qt5quickcompiler-config.cmake Add the installation prefix of "Qt5QuickCompiler" to CMAKE_PREFIX_PATH or set "Qt5QuickCompiler_DIR" to a directory containing one of the above files. If "Qt5QuickCompiler" provides a separate development package or SDK, be sure it has been installed.
Da ich Qt6 verwende hab ich natürlich auch find_package(Qt6QuickCompiler), mit dem gleichen Ergebnis. Ich habe also mal mein Qt-Verzeichnis durchsucht und bin lediglich auf eine Qt6QuickCompilerConfig.cmake.in gestoßen.
Darin steht:function(QTQUICK_COMPILER_ADD_RESOURCES) message(WARNING "Use qt6_add_resources instead of qtquick_compiler_add_resources." "QML and JavaScript files are automatically compiled then.") endfunction()
Also verstehe ich das richtig? Ich benötige den Qt6QuickCompiler gar nicht mehr? Klingt ja ganz so, aber ich kann mir nicht vorstellen, dass die Doku so weit hinterher ist? Zusätzlich muss ich meiner Binary den Ordner "QtQuick" beilegen welcher wiederum etwas tiefer .qml Dateien enthält ohne die ich die Anwendung nicht starten kann. Ich bin davon ausgegangen so etwas würde durch das kompilieren ebenfalls wegfallen?
Vielleicht kennt sich ja jemand mit dem QML Deploying aus
-
@Zhavok sagte in QtQuick kompilieren:
Add the installation prefix of "Qt5QuickCompiler" to CMAKE_PREFIX_PATH
Ich verstehe zwar nicht die ganze Frage, aber ich habe zur Zeit Qt6 mit CMake einem Projekt so hinzugefügt. Also nicht über das Verzeichnis wo die Datei
Find<PackageName>.cmake
ist, was - soweit ich mich erinnere - immer nach weiteren solchen Dateien fragte:set(QT_INSTALLATION_PREFIX CACHE PATH "Set your CMAKE_PREFIX_PATH environment variable to the Qt installation prefix (e.g. /Qt/6.0.0/msvc2019_64)") list(APPEND CMAKE_PREFIX_PATH ${QT_INSTALLATION_PREFIX}) message("QT_INSTALLATION_PREFIX: ${QT_INSTALLATION_PREFIX}") message("CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}") find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(Decade PRIVATE Qt6::Widgets) target_include_directories(Decade PRIVATE Qt6Widgets_INCLUDE_DIRS) message("Qt6Widgets_INCLUDE_DIRS: ${Qt6Widgets_INCLUDE_DIRS}") add_custom_command( TARGET Decade POST_BUILD COMMAND ${QT_INSTALLATION_PREFIX}/bin/qtenv2.bat COMMAND ${QT_INSTALLATION_PREFIX}/bin/windeployqt.exe ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} )
-
Vielen Dank für deine Antwort @titan99_ , allerdings bezieht sich meine Frage auf das kompilieren von QtQuick Projekten und nicht auf QtWidgets. Bei QtQuick schreibt man den FrontendCode in QML. Mein Ziel ist es nun dieses direkt in die Binary mit zu kompilieren
-
@Zhavok sagte in QtQuick kompilieren:
Vielen Dank für deine Antwort @titan99_ , allerdings bezieht sich meine Frage auf das kompilieren von QtQuick Projekten und nicht auf QtWidgets
Meine Antwort bezog sich auch nur auf diese Fehlermeldung:
@Zhavok sagte in QtQuick kompilieren:
Add the installation prefix of "Qt5QuickCompiler" to CMAKE_PREFIX_PATH
Also eigentlich nur auf Add the installation prefix of "Qt..." to CMAKE_PREFIX_PATH