我正在尝试使用Qt Quick Controls
构建一个CMake
应用程序。我使用以下文档:
http://doc.qt.io/QtQuickCompiler/qquickcompiler-building-with-cmake.html
[运行CMake
时,出现此错误:
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
在此行:
FIND_PACKAGE(Qt5QuickCompiler)
显然CMake
找不到Qt5QuickCompiler
。我签入了Qt
文件夹(C:\ Qt),但它不存在。但是我可以使用QMake
运行此应用程序。
为了找到Qt5QuickCompiler
,我需要设置什么?
错误非常清楚:CMake没有Qt5QuickCompiler可以找到它的模块。它只是不知道它是什么。我刚刚检查了相应的cmake文件夹,但没有该文件。我不确定Qt文档页面在谈论什么,但是CMake发行版中没有这样的文件。也许Qt源在某个地方有此文件?
您需要使用Qt Quick编译器构建Qt5,可以从http://www.qt.io/qt-quick/下载。在Qt Quick编译器的build目录中,您会找到Qt5QuickCompilerConfig.cmake
。将路径复制到此目录,然后像这样添加到CMAKE_PREFIX_PATH
cmake -DCMAKE_PRFEIX_PATH=<pathToFile> <pathToSrcDirOfYourProject>
我只是偶然发现了Linux下Qt 5.12的同一问题。 https://doc.qt.io/QtQuickCompiler/qquickcompiler-building-with-cmake.html下的文档当前似乎是错误的。
在Qt5 QuickCompiler
的COMPONENTS
之后使用find_package
,而不是尝试通过find_package(Qt5QuickCompiler)
添加它。通过链接修改示例,使用
find_package(Qt5 COMPONENTS Quick Core Network QuickCompiler)
qtquick_compiler_add_resources(RESOURCES example.qrc)
add_executable(myapp ${SRC_LIST} ${RESOURCES)
代替
find_package(Qt5 COMPONENTS Quick Core Network)
find_package(Qt5QuickCompiler)
qtquick_compiler_add_resources(RESOURCES example.qrc)
add_executable(myapp ${SRC_LIST} ${RESOURCES)