CMake Qt静态库中配置qrc并使用

序言

看网上这资料较少,且我理解起来有歧义,特地补充

环境

CMake:3.29.2
Qt:5.15.2
MSVC:2022
IDE:QtCreator

代码

方式一:

  1. 在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})
  1. 在使用之前找个地方初始化你的qrc文件,常放于main函数
Q_INIT_RESOURCE(XZZResource);		// XZZResource.qrc初始化

然后可以正常使用了

.
方式二:

  1. 在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})
  1. 在使用之前找个地方初始化你的qrc文件,常放于main函数
Q_INIT_RESOURCE(XZZResource);		// XZZResource.qrc初始化

然后可以正常使用了
.
方式三:
自行转rcc,然后使用时动态载入rcc即可,qrc放在静态库的不会这么做,这属于动态加载的范畴。
详情略,资料一大把,后续需要再补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

溪渣渣_梁世华

打赏?我甚至没有任何收费的章节

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值