一.编译
方法如下图所示。
1.点击qt界面左下角的图标;
2.选择Release;
3.点击编译运行即可;
生成的程序运行正常之后,找到项目的生成目录。比如,项目源码路径:
D:\OutPutResult\QtWorkPlace\DiyName
它的项目生成目录是:
D:\OutPutResult\QtWorkPlace\build-DiyName-Desktop_Qt_5_8_0_MinGW_32bit-Release
我们可以发现,此时点击.exe文件是会出问题的,解决办法如下。
二.发布
使用windeployqt工具,进行打包发布
1.首先进入上图中这个文件夹,在里面,找到 DiyName.exe,将这个.exe 复制到一个新的单独的文件夹里用于发布,比如存到 :
D:\OutFaBu 文件夹里面。
此时,这个文件只一个有刚刚从release文件夹下,复制过来的.exe文件。
4.运行完成
此时,我们可以发现在刚刚创建的新文件夹D:\OutFaBu中生成许多文件和 dll文件、qm文件,这时候得到的就完整的 exe程序发布集合,依赖关系都解决好了。此时点击DiyDame.exe文件就可完美的运行。
这时候就会看到 qt 已经把需要用到的 DLL 都复制过来了。我会在这个基础上再根据需要去掉一些东东:
三.压缩
Enigma virtual box是免费的软件虚拟化工具,它可以将多个文件封装到您的应用程序主文件,这样您的软件就可以制作成为单文件的绿色软件。
enigma virtual box 支持所有类型的文件格式,包括动态链接库 (.dll), activex/com (.dll, .ocx), 视频/音频文件 (.avi, .mp3), 文本文件 (.txt, .doc) 等。
上图步骤2与3间可点击文件选项按钮,勾选压缩选项,打包完成的可执行文件大小会小得多 。
原文:https://www.cnblogs.com/Joezhang433/p/12812715.html