QML-App mit C++-Plugin (cmake) zum Hinzufügen einer Ressourcendatei

QML-App mit C++-Plugin (cmake) zum Hinzufügen einer Ressourcendatei

Wie füge ich eine qrc-Datei zum Projekt „QML-App mit C++-Plugin (cmake)“ hinzu? Ich kann keine funktionierende Anleitung finden. Ich habe nur eines gefunden: füge dies zu CMakeLists.txt hinzu:

qt5_add_resources(RESOURCES modules/ProjectName/resources.qrc)

damit wird die Datei endlich im Dateibaum in Qt angezeigt, aber es ist klar, dass die Datei nach dem Kompilieren nicht in der ausführbaren Datei enthalten ist, was also tun?

Antwort1

qt5_add_resources(RESOURCES modules/ProjectName/resources.qrc)

Dieses Ding konvertiert QRC-Dateien in C++-Dateien. Die Namen der C++-Dateien werden in der Variable RESOURCES gespeichert.

Ausführbare Dateien und Bibliotheken werden aus C++-Dateien kompiliert mitausführbare Datei hinzufügenUndBibliothek hinzufügenin CMakeFiles.txt. In der Projektvorlage „QML-App mit C++-Plugin (cmake)“ bedeutet der Teil „C++-Plugin“ Bibliothek. Irgendwo in CMakeFiles.txt gibt es also eineBibliothek hinzufügen. Ressourcendateien sollten dort hinzugefügt werden:

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

Alternativ kann der QRC direkt in eine separate Bibliothek kompiliert werden durchqt5_Ressourcen hinzufügenMakro oder überhaupt nicht kompiliert (also keineqt5_Ressourcen hinzufügenüberhaupt nicht) und von der Qt-Anwendung zur Laufzeit geladen werden (siehe beispielsweise die Quelle der Ubuntu-Terminal-App).

Antwort2

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

verwandte Informationen