IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Qt5 Widget 程序 Qt 库裁剪方法 -> 正文阅读

[开发工具]Qt5 Widget 程序 Qt 库裁剪方法

一、Qt5 Widget 程序 Qt 库裁剪方法

使用 windeployqt.exe 时拷贝的 Qt 动态库,有一些是可能没用到的。

  1. If dynamic OpenGL was used, then the archive must additionally contain

反之,如果没使用dynamic OpenGL,以下文件可以删除,可在调用windeployqt.exe时加--no-angle--no-opengl-sw这两个参数。
QtWidgets/C++ 程序都不用 OpenGL,所以完全可以删除。

ComponentFile Name
ANGLE librarieslibEGL.dll, libGLESv2.dll
HLSL compiler library for ANGLEd3dcompiler_XX.dll
OpenGL Software renderer libraryopengl32sw.dll
  1. 如果没有使用SVG的话,下面三个文件也可以删掉,一般用到SVG的程序比较少,大部分可以删除。
  • iconengines\qsvgicon.dll
  • imageformats\qsvg.dll
  • Qt5Svg.dll
  1. 不考虑国际化的话,translations里面的所有翻译文件也可以删掉,可以加--no-translations参数。

  2. 如果 imageformats 目录里面有几种图像格式没用上,也可以删掉。我自己通常把整个目录都删掉,Qt已经编译了对PNG 的支持,能读写程序包含的图标、图片就够,其它格式不重要。

  3. styles\qwindowsvistastyle.dll
    参考 Qt QWindowsVistaStyle Class

The QWindowsVistaStyle class provides a look and feel suitable for applications on Microsoft Windows Vista.
Warning: This style is only available on the Windows Vista platform because it makes use of Windows Vista's style engine.

窃以为 Windows Vista 系统市场占有率非常非常少,所以可以去掉。

综上所述,可以删除的文件有:

可以删除的文件条件
libEGL.dll
libGLESv2.dll
d3dcompiler_XX.dll
opengl32sw.dll
程序没有使用 dynamic OpenGL(QtWidgets/C++ 程序都不用 OpenGL)
iconengines\qsvgicon.dll
imageformats\qsvg.dll
Qt5Svg.dll
程序没有使用 SVG 格式文件(大部分程序都不会用到 SVG)
translations\ 文件夹里面的所有文件程序不考虑国际化
imageformats\ 文件夹里面的文件程序没用到的图片格式就可以删除,一般程序都可以删除
styles\qwindowsvistastyle.dllWindows Vista 系统市场占有率非常非常少,可以去掉

以上文件合计26.5M,可以给程序减小相当大的体积了。

二、–no-compiler-runtime 参数

–no-compiler-runtime: Do not deploy compiler runtime (Desktop only).

这个只是不要拷贝编译器的运行时库安装文件,例如vcredist_x86.exe
如果没加这个参数,并且VCINSTALLDIR 环境变量也设置得正确的话,那么就会拷贝运行时库安装文件。

一般程序都是带上运行时库的DLL文件(如 msvcp140.dll),不会带安装文件的。
这个可以主动加上--no-compiler-runtime这个参数让 windeployqt 不要拷贝运行时库安装文件,否则 windeployqt 会报警告:

Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set.

设置VCINSTALLDIR环境变量的方法:

set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC

设置完后再调用 windeployqt.exe。

三、参考文档

Qt for Windows - Deployment

libssl-1_1.dll、libeay32.dll库怎么确定的 OpenSSL?
qgenericbearer.dll?
qwindowsvistastyle.dll ?
windeployqt --plugindir ?

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:48:28  更:2022-02-22 20:48:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 7:09:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码