【QT】 程序安装包裁剪打包

在写完QT程序打包发布可执行文件.exe时,发现体积着实有点太大了。一个普通的串口读写软件压缩后达到58M!!!解决方案如下:(删减后的可执行程序只有8M左右)

  1. 创建一个 dist 目录
  2. 把编译好的 qttest.exe 复制到 dist 目录。
  3. 打开qt的命令行模式MinGw  cmd.exe,cd 到 dist 目录
    4.1 运行 c:\qt5\bin\windeployqt.exe qttest.exe    或者(windeployqt.exe –no-angle –no-opengl-sw  qt_test.exe)
    4.2 对于 QML 程序,需要指定 QML 目录: c:\qt5\bin\windeployqt.exe –qmldir d:\qttest qttest.exe

这时候就会看到 qt 已经把需要用到的 DLL 都复制过来了。我会在这个基础上再根据需要去掉一些东东:

  1. libEGL.dll, libGLESV2.dll 这两个文件是 ANGLE 的文件,可以去掉。opengl32sw.dll 是软件模拟 OpenGL,除非用户的系统连 DirectX 支持都不完整——虚拟机环境就是这样——不然这个文件也完全没有用。 QtWidgets/C++ 程序都不用 OpenGL,所以直接去掉即可。可在调用 windeployqt.exe 时加”–no-angle” 和 “–no-opengl-sw” 这两个参数。
  2. 如果没有使用 svg 的话,iconengines\qsvgicon.dll, imageformats\qsvg.dll, Qt5Svg.dll 这三个文件也可以删掉
  3. 如果没有国际化用户的话,translations 里面的翻译文件也可以删掉。
  4. QML 程序没有使用 QtWidgets/C++ 可以删掉 Qt5Widgets.dll //C++程序不可以删除!!
  5. 如果 imageformats 目录里面有几种图像格式没用上,也可以删掉。我自己通常把整个目录都删掉,Qt已经编译了 png 的支持,能读写程序包含的图标就够,其它格式不重要。
  6. qmltoolingQt5Network.dll 是用于 QML 调试用的,可以删掉。

经过以上裁剪,使用 7zip 压缩完以后,一个 QtWidgets/C++ helloworld 程序最终只剩下 5.64M,一个 QtControls 程序是 5.86M, QtQuick 程序还会更小一些。

源:谈谈 Qt 程序安装包的大小,以及简要打包指南

将Qt应用程序打包成可安装的软件

https://blog.csdn.net/perfectguyipeng/article/details/85242567

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Linux系统下,Qt程序打包分为两个步骤:编译和打包。 首先,需要确保在Linux系统中已经正确安装了Qt开发环境。可以通过命令行输入"qmake --version"来检查是否已经安装。 编译步骤如下: 1. 在Qt Creator中打开你的Qt项目。 2. 点击“构建”菜单,选择“构建项目”,或者按下Ctrl+B进行编译。确保项目能够成功编译通过。 3. 打开终端,进入项目的构建目录。默认情况下,该目录位于项目目录下的"build-"文件夹中。 4. 在终端中输入"make"命令,开始进行最终的编译。这将生成可执行文件。 然后,进行打包步骤: 1. 打开终端,进入可执行文件所在的目录。 2. 确定你安装了所需的打包工具,通常推荐使用"makeself"或者"AppImage"进行打包。 3. 根据所选择的打包工具的不同,输入相应的命令进行打包。 4. 打包完成后,在该目录下将生成一个打包文件,可以进行分发。 需要注意的是,在进行打包时,需要确保程序的依赖项全部打包进去,以便在目标系统中正确运行。可以通过在项目配置文件中添加相应的依赖项,并在打包时包含这些依赖项来实现。 总结起来,对于Liunx下的Qt程序打包,首先需要确保正确安装了Qt开发环境,然后进行编译,最后使用打包工具打包程序及其依赖项。这样就可以将Qt程序打包成可执行文件,方便在其他Liunx系统中分发和运行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值