我有一个Qt Quick项目,它使用CMake作为其构建系统。我主要参加了Qt Creator生成的CMake项目,所以我有
set(CMAKE_AUTORCC ON)
在我的根CMakeLists.txt中。
我最近了解了QML资源的提前编译,这应该可以大大改善启动时间。描述如何与CMake结合使用的documentation说,我需要执行以下操作:
find_package(Qt5 COMPONENTS Quick Core Network)
find_package(Qt5QuickCompiler)
qtquick_compiler_add_resources(RESOURCES example.qrc)
add_executable(myapp ${SRC_LIST} ${RESOURCES})
qt5_use_modules(myapp Quick Core Network)
但据我所知,qtquick_compiler_add_resources
除了产生一系列不存在的C ++文件外什么也不做。我假设这些将由QtQuick编译器产生,但实际上,CMake无法运行,因为它找不到这些源。遗漏了什么?
答案 0 :(得分:0)
抱歉,聚会有点晚了,但您必须尝试删除 set(CMAKE_AUTORCC ON)
吗?
我有几乎相同的实现,并且 <qmlfile_name>_qml.cpp
文件生成和编译正确。
在我的实现中,我有:
qml files
参数列表中添加了 add_executable
列表,因为我想在我的 IDE 中看到它们。