一、简述
在Qt的使用过程中,我们会发现Qt的的执行文件在Qt的IDE中是可以直接Build出来并执行产生效果的,但是如果直接在编译文件夹下找到该执行文件运行或是要提供给第三方人员使用的时候,执行文件却不能直接使用,会有各式各样的库文件缺失等问题,以下是Qt在Windows环境下的执行文件打包流程。
二、工具
windeployqt(Qt自带,无需安装)
三、操作步骤
1、通过Qt Creator编译出执行文件(构建模式为release,好处是发布的软件的体积比较小,debug的比较大)
2、在执行路径下找到编译出的执行文件(如下project02.exe) ,将执行文件拷贝到另一个空文件夹下(此处为E:\qt-zqw\qt-workplace\bin2),并将项目用到的所有dll文件以及链接库和打包的图片等等拷贝到bin2目录下
这里我使用了icon自定义exe文件的图标(下面有做补充)
3、在左下角开始菜单找到Qt 5.8 for Desktop (MinGW 5.3.0 32 bit)(版本因人而异)并运行
4、在Qt的命令行中利用cd命令跳转至之前exe执行文件拷贝到的文件夹路径
5、输入命令 :windeployqt 程序名 进行打包
这时,exe执行文件所需的所有库文件都自动加载到执行文件所在的文件夹中,执行文件已经可以正常运行,接下来只要将库文件包括执行文件一起封装打包即可。(因为我打包过,所以会显示is up to date)
打包完你会发现bin2目录下多出一些文件,如下图
注:
1、如果想修改exe应用程序的图标,在.pro文件中加入:RC_ICONS = hml.ico(icon图标文件放在与.pro文件夹在同一目录下)
2、在打包后执行exe的效果与原来不符,发现没有把image文件夹拷贝到打包好的文件夹下
3、分别使用debug和release构建模式,接着运行,出现了不同的效果(release下运行,图片出现拖尾)
解决方法:尝试把拖尾的那张图片的分辨率调低(太大可能会拖尾),然后重新构建项目。
4、最后也可以用Enigma Virtual Box进行测试运行打包,参考如下