带有 C++ 插件(cmake)的 QML 应用程序添加资源文件

带有 C++ 插件(cmake)的 QML 应用程序添加资源文件

如何将 qrc 文件添加到“带有 C++ 插件 (cmake) 的 QML 应用程序”项目?我找不到工作说明。我只找到了一件事,将其添加到 CMakeLists.txt:

qt5_add_resources(RESOURCES modules/ProjectName/resources.qrc)

这样,文件最终显示在 Qt 中的文件树中,但很明显,编译后该文件未包含在可执行文件中,那么该怎么办?

答案1

qt5_add_resources(RESOURCES modules/ProjectName/resources.qrc)

这个东西将 qrc 文件转换为 C++ 文件。C++ 文件的名称存储在 RESOURCES 变量中。

可执行文件和库是使用以下方式从 C++ 文件编译而来的:添加可执行文件添加库在 CMakeFiles.txt 中。在“带有 C++ 插件的 QML 应用程序 (cmake)”项目模板中,“C++ 插件”部分表示库。因此,在 CMakeFiles.txt 中的某个地方有一个添加库.资源文件应该添加到那里:

add_library(Myappbackend MODULE
    ${Myappbackend_SRCS}
    ${RESOURCES}
)

或者,qrc 可以直接编译成单独的库qt5_添加资源宏或根本没有编译(所以没有qt5_添加资源完全)并在运行时由 Qt 应用程序加载(例如,参见核心 ubuntu-terminal-app 的源代码)。

答案2

set(CMAKE_AUTORCC ON)
add_executable(${PROJECT_NAME} ${SRC_LIST} modules/ProjectName/resources.qrc)

相关内容