Qt 裁剪

Qt 裁剪

Qt Lite裁剪Qt库

Qt5.8开始,引入 Qt Lite 裁剪工具

网页版

Qt Lite

Qt Configuration Tool裁剪工具

Qt ConfionTool是 Qt Lite的可视化工具,必须有商业Qt许可证才能使用

使用说明

Qt Configuration Tool | Qt for Device Creation 6.2.3

加速启动

通过定制化bootloader,可以将启动时间从23s减少到1.26s,但只是图像显示,后台还需要初始化一段时间才能操作

feature 手动定制

减少应用体积

经过精简 feature 后,生成的Qt 库文件体积会减小,同时编译后的 Qt 应用程序体积同样也减小

在我使用的源码里,Qt一共有38个大分组,比如说qtbase,qt3d等等。QtLite目前主要优化了qtbase这一个分组,也是最常用的一个。不使用QtLite的情况下,全部编译完成后,一共会得到60个库。这一次我编译后,通过skip(跳过编译),还有QtLite,一共可以去掉42个库,剩下18个。

feature 间相互依赖

目前Qt有一个feature列表,里面记录了Qt有哪些feature,有100多个。我的理解就是这里的feature都是可以去掉的,这个列表存放的位置在源码的 qtbase/src/corelib/global/qfeatures.txt(实测找不到此文件)

不过呢,在我的实际使用中,我发现这个列表里的并非都可以去掉,我只能说一大半是可以去掉的。要我说怎么区分哪些可以,哪些不可以。首先是看Requires,模块间是相互依赖的,被Requires的模块去掉的话,Requires它的模块就会没法正常编译。在Requires都得到保证的情况下,也不是说所有模块都可以去掉,有时候编译会报错,那么只能把去掉的feature加回去。

去除QClipboard

Qt里有一个类,叫QClipboard,就是剪切板相关的功能。但是很多人出于某些原因,不用这个,或者用了系统的API。那么这样的话,这个QClipboard就没有任何存在的意义了,我们就可以直接去掉它,以缩减库体积,最终缩减应用的体积。

首先我们要重新编译Qt的源码,然后在配置的时候,添加特定的参数,来进行配置,去除掉这个功能。

参数很简单,就是 -no-feature-clipboard配置好后,重新编译Qt,就可以了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值