QT打包exe程序过大
剪裁qt构建的exe程序的大小#
在QT Creator中使用release方式构建整个项目,使用的是MinGW进行项目的构建
在生成的文件夹下build-xxx-Desktop_Qt_5_12_12_MinGW_64_bit-Release\release\xxx.exe
,选择对应的exe文件,将exe文件复制到别的文件夹下,开始目录下打开Qt 5.12.12(MinGW 7.3.0 64bit),将路径切换到exe文件所在的新文件下;输入指令windeployqt --no-angle --no-opengl-sw rename.exe
,windeployqt是qQT\5.12.12\mingw73_64\bin目录下的一个可执行文件,用于exe的部署,--no-angle,--no-opengl-sw是两个参数,意思是在打包exe时不要添加angle、opengl的dll文件
执行结果:
没有使用SVG,删除Qt5Svg.dll
、iconengines\qsvgicon.dll
、imageformats\qsvg.dll
;translations
文件夹存放的是翻译文件,直接删掉;imageformats
文件夹下存放的是各种图片格式所需的dll文件,项目中只使用了png格式的图片,Qt已经编译了 png 的支持,能读写程序包含的图标就够,其它格式不重要,直接删除该文件夹。
裁剪之前54M,裁剪完之后,整个文件夹21.2M,要打包成一个exe文件,可以使用Enigma Virtual Box
使用Enigma Virtual Box打包exe#
点击Process
运行,将rename.exe以及相关的dll文件打包成一个exe文件,打包之后为10.3M
为exe文件添加图标#
QT通过release方式构建的exe文件默认不带图标,需要使用.ico文件(32x32像素)并将其添加整个项目的Resources中,这是我的Resources文件夹结构可以看到logo.ico位于image目录下。
有两种方式在.pro文件中添加ico文件,添加文件时要注意文件结构
- 将
RC_ICONS = image\logo.ico
其添加到.pro文件中 - 如果使用rc文件的方式,那么logo.rc文件中的内容是这样的:
IDI_ICON1 ICON "logo.ico"
,在.pro文件中添加RC_FILE = logo.rc
通过release方式构建后,成功添加图标,在build-xxx-Desktop_Qt_5_12_12_MinGW_64_bit-Release\release
文件夹下可以找到已添加图标的exe文件
QT应用程序在高DPI下的缩放问题#
https://blog.csdn.net/yinyuchen1/article/details/99607722
参考资料:
https://hgoldfish.com/blogs/article/103/
https://blog.csdn.net/weixin_42126427/article/details/113250855
https://blog.csdn.net/yaojinjian1995/article/details/106420089
https://doc.qt.io/qt-5/appicon.html
作者:qianxiaohan
出处:https://www.cnblogs.com/qianxiaohan/p/18237089
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具