帶有 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)

相關內容