Приложение QML с плагином C++ (cmake), добавляющим файл ресурсов

Как добавить файл qrc в проект "Приложение QML с плагином C++ (cmake)"? Я не могу найти рабочую инструкцию. Я нашел только одну вещь, добавить это в CMakeLists.txt:

qt5_add_resources(RESOURCES modules/ProjectName/resources.qrc)

с этим файл, наконец, отображается в дереве файлов в Qt, но ясно, что файл не включается в исполняемый файл после компиляции, что делать?

2 ответа

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

Эта вещь преобразует файлы qrc в файлы C++. Имена файлов C++ хранятся в переменной RESOURCES.

Исполняемые файлы и библиотеки компилируются из файлов C++ с использованием add_executable и add_library в CMakeFiles.txt. В шаблоне проекта "Приложение QML с плагином C++ (cmake)" часть "Плагин C++" означает библиотеку. Так что где-то в CMakeFiles.txt есть add_library. Файлы ресурсов должны быть добавлены туда:

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

В качестве альтернативы, qrc может быть скомпилирован напрямую в отдельную библиотеку с помощью макроса qt5_add_resources или не скомпилирован вообще (поэтому вообще не нужно qt5_add_resources) и может быть загружен приложением Qt во время выполнения (см., Например, исходный код основного приложения ubuntu-terminal-app),

Другие вопросы по тегам