使用qt程序打包后,发现很多包我们是没有用到的,程序的包突然就大了起来,使用十分的不方便。
基本思路:
只要我们找到那些与你程序没有用到的包,清除就好。
两种方式:
方式一:
当打包好后,我们可以看到很多dll 文件给打包过来:
涂黑的部分,不对,是涂红的部分是自己对应的exe文件。
libEGL.dll, libGLESV2.dll 这两个文件是 ANGLE 的文件,可以去掉。
opengl32sw.dll 是软件模拟 OpenGL可以去掉。
D3Dcompiler 如果你没有使用D3D对应东西可以删除。
libEGLd.dll 与 Qt5Svgd.dll 你没有使用SVG 对应的东西可以删除。
translations 里面的翻译文件也可以删掉。前提你没有使用这个功能。
如果 imageformats 目录里面有几种图像格式没用上,也可以删掉。
最终可以删除到这里:
基本到这里就差不多了。
方法二:
这个方法,哈哈,现在我都想笑,就是我们知道当程序运行的时候,删除某些东西的时候,只要对应的程序在运行,其他对应的文件我们是删除不了的,于是我们可以打开软件,然后把这个项目删除,然后会提示框,选择跳过,这样就把不用的东西全部给去除了,是不是非常的偷懒,哈哈。
但是我们既然是程序员,上面的方式不适合我们的,比较可靠的方式就是使用windows 本身自己的 CreateToolhelp32Snapshot 可以查看对应exe中依靠的进程、线程、一个查看,与对应的dll依赖,这样我们就可以把没有用到的东西,全部删除。
喜欢我博客的小伙伴可以关注我,来个一键三联,一起加油吧。