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放在静态库的不会这么做,这属于动态加载的范畴。
详情略,资料一大把,后续需要再补充。