【发布时间】:2020-03-29 16:49:35
【问题描述】:
我有一个使用 CMake 作为其构建系统的 Qt Quick 项目。我主要使用 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 无法运行,因为它找不到这些源。什么是丢失的位?
【问题讨论】:
-
不知道为什么这不起作用,我只是经历了
AUTORCC的相同转换->编译并且上面确实有效,即RESOURCES是由生成的cpp文件列表快速编译器,然后将其添加到可执行文件(在我的情况下为库)。 -
我的意思是列表本身看起来不错。但是没有任何东西会提示生成这些文件。