c++ - Qt 动态链接库过大
黄舟
黄舟 2017-04-17 11:53:13
[C++讨论组]

最近使用Qt制作了一个小工具,但是找出了所有的链接库打包后发现有20多M,只是用了QtGUi,QtCore,QtWidget三个链接库,为什么Qt 的链接库这么大。能精简吗?精简后最小能达到多少?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
ringa_lee

看你列出三个链接库,猜得到你用的是 Qt5, Qt5 拥有很多强大的功能,你确定你的小工具都用到了?如果没有用到 Qt5 特有的功能,请使用 Qt4,仅需两个动态链接库:QtCore4.dll(2.86M), QtGui4.dll(9.56M),相比之下,精简了近一半。

什么,13M 多还是太大?进一步精简,方法很简单:自己动手编译 Qt。在configure的时候去掉RTTI,异常,Qt3支持,优化选项用最小大小(性能差不了太多)。如果你的程序真的很小,那么可以直接静态链接,这样就更小了。

那么最小能达到多小?如果如你所说,只有一个空白窗体的话,静态链接可以缩减至 5M。(请参考Minimum size of static-linked Qt GUI app?)。如果坚持使用动态链接,上面提到的两个 dll 加起来可以缩减至 6M 多。(具体编译参数设置请参考Building Qt Static (and Dynamic) and Making it Small with GCC, Microsoft Visual Studio, and the Intel Compiler)

PHP中文网

“为什么Qt 的链接库这么大?”,Qt这种东西是用来方便开发的,提升工作效率的。并不是追求体积小的。对于一个几百兆的软件,20M并不多;但对于一个小工具,20M看起来就显得多了,而已。

“能精简吗?”不能精简,就这么着了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号