若需要添加自定义图标
软件发布后会使用默认应用程序图标(即软件出错时经常看到的那个图标)
若需要美观自定义图标,参考此文档
https://blog.youkuaiyun.com/gongfpp/article/details/120641056
qt IDE版
编译为release版本
Debug版本方便调试,而release版本则是为发布面向用户的软件的版本,release版本省略了大量的debug操作,编译器自动识别并在编译时自动优化程序,提高软件运行效率,因此我们需要用release版本编译
使用qt添加依赖库
我们找到编译后的exe所在目录
这里面包括了程序的.h .cpp和编译生成的.o等中间文件,我们运行时只需要exe文件
而此时双击exe文件,会发现缺少依赖dll等出错信息,这是因为我们使用qt creator的运行时,qt自动调用了所需的各种dll文件等,而我们自己手动打开exe,则没有qt的帮助。
为防止其他文件的干扰,我们新建一个文件夹,复制该exe文件进去,开始打包依赖库。
按下windows徽标键 ,搜索你所用的编译器的版本 (我这里用的是minGw 64bit)打开
窗口中输入cd D:\code\Qt\build-Homeworktor-Desktop_Qt_5_12_3_MinGW_64_bit-Release\release\Homeworktor
(路径换成你自己刚才新建的exe目录,若目录不处于C盘则需要先切换到相应盘符)
此时如上图 输入windeployqt Homeworktor.exe (exe换成你自己的文件名)
打包完如下图
该目录则包括了所需的所有文件和依赖项 此时已经可以双击使用exe
注:若仍出现如找不到libgcc_s_dw2-1.dll, 尝试重新安装该程序以解决问题.等错误,可能是构建套件与编译时的编译器版本不符合,需要选择相同版本的编译器重新执行windeployqt,即下图两者相同
Visual Studio版
编译并生成exe
vs里点击
则会生成exe
用tool程序添加依赖库
首先启动下图程序
接下来需要两个目录
1.对应32|64位的windeployqt.exe程序目录,一般在类似下图的qt安装目录。
2.欲编译的程序release版目录。一般在vs项目目录中的release目录中,找到exe文件
如果没有,则先在vs中编译运行一次。
然后我们同样新建一个文件夹,把exe丢进去,这时我们可以看到,exe运行不了(因为没有依赖文件)。
我们使用tool工具,cd进入新建的文件夹(这里文件夹名为exe),使用
…\目录\windeployqt.exe -release 目标exe名
如下图所示
注意注意 :这地方–release 不是单横线 图中打错了 但能运行 不知道有没有问题
完成后目录中会添加进项目所需的各种文件,此时即可运行
(选做)打包成一个exe文件
这时文件夹内有一堆文件,如果我们的项目并不大,仅是一个小工具,则一个大文件夹丢给用户使用则显得不方便,我们可以打包成一个exe文件。
首先下载 Enigma Virtual Box
https://enigmaprotector.com/en/downloads.html
安装后打开
此时在3处选择Add Folder Recursive 选择主exe所在的有一堆dll的目录(大部分情况下即1处的目录) 然后OK
点OK,则如上图,此时可以Files Options 中压缩文件
勾选Compress Files 则压缩文件 ,使exe体积更小(不知道有没有性能损失)
然后Process 等待结束 run则立即打开生成的单exe close则关闭,此时已在2处所选目录生成新的单exe文件,移动它到其他地方 ,双击试试,已经可以单独运行了。