CMake Qt
- 序言
- 環境
- 代碼
序言
看網上這資料較少,且我理解起來有歧義,特地補充
環境
CMake:3.29.2
Qt:5.15.2
MSVC:2022
IDE:QtCreator
代碼
方式一:
- 在CMakeLists.txt里,add_library之前設置CMAKE_AUTORCC為ON,它會省略方式二中的qt5_add_resources/qt_add_resources等處理qrc的指令
set(CMAKE_AUTORCC ON) // 重點
正常獲取qrc文件和別的cpp文件通過add_library放進靜態庫里,示例:
file(GLOB_RECURSE XZZ_source_files"*.cpp""*.h""*.qrc"
)add_library(XZZ_Lib STATIC ${XZZ_source_files})
- 在使用之前找個地方初始化你的qrc文件,常放于main函數
Q_INIT_RESOURCE(XZZResource); // XZZResource.qrc初始化
然后可以正常使用了
.
方式二:
- 在CMakeLists.txt里,使用qt_add_resources去單獨處理qrc
qt_add_resources(XZZ_qrc_files XZZResource.qrc) // 重點file(GLOB_RECURSE XZZ_source_files"*.cpp""*.h"
)add_library(XZZ_Lib STATIC ${XZZ_source_files} ${XZZ_qrc_files})
- 在使用之前找個地方初始化你的qrc文件,常放于main函數
Q_INIT_RESOURCE(XZZResource); // XZZResource.qrc初始化
然后可以正常使用了
.
方式三:
自行轉rcc,然后使用時動態載入rcc即可,qrc放在靜態庫的不會這么做,這屬于動態加載的范疇。
詳情略,資料一大把,后續需要再補充。