qt5.5程序打包发布以及依赖

自己写的小程序只需要debug运行就行,但是要在别的电脑上运行就必须release运行好打包了。
打包:
(1)首先程序要想发布,在编译器编译一定要选择“release”而不是“debug”,编译成release版本;
qt5.5程序打包发布以及依赖_第1张图片
(2)编译成release之后,找到目录:
这里写图片描述

为了更加方便快捷的解决这个问题,我们使用qt自带的windeployqt.exe寻找依赖的文件,我们使用批处理bat,在当前目录(即编译成release后的可执行程序所在目录)新建个bat文件:
qt5.5程序打包发布以及依赖_第2张图片
使用记事本打开或者其他编辑工具亦可,然后把下面的代码复制进去保存;
如果使用的msvc版本的:
C:\Qt\Qt5.4.2\5.4\msvc2013_64\bin\windeployqt.exe myexe.exe

pause

如果使用的是mingw版本的:
C:\QT5\5.5\mingw492_32\bin\windeployqt.exe myexe.exe

pause
代码解析:C:\Qt\Qt5.4.2\5.4\msvc2013_64\bin\windeployqt.exe这个是windeployqt.exe工具的路径,要根据自己的qt安装情况进行修改,首先在这里看能不能找到windeployqt.exe,找到了直接把其路径复制过来即可;myexe.exe则是你的可执行程序的名称,不要照抄这里的。
(3)上面步骤完成之后直接双击这个bat文件就会把需要用到的所有dll文件自动复制到当前目录下:
qt5.5程序打包发布以及依赖_第3张图片
很便捷。
这个时候再去双击你的可执行程序应该就可以运行了。

(4)接着就需要把这些文件打包成一个exe文件了,我们可以用Enigma Virtual Box这款软件, 现在最新的版本已经是7.4了,百度一搜索就有,然后就开始添加文件打包了:
qt5.5程序打包发布以及依赖_第4张图片
qt5.5程序打包发布以及依赖_第5张图片
最后点击“执行封包”就能生成一个exe文件,如图示:
这里写图片描述
于是这个打包好的程序就可以放到其他电脑上运行啦。

(5)如果有需要制作成安装包程序可以使用Inno setup这款软件制作安装包,当然网上还有很多其他类似的,就需要大家自己去尝试啦,制作安装包的方法也是类似的,准备所需要的文件之后添加进去就可以了,网上很多这样的教程,大家参考这篇博文:http://blog.csdn.net/ruifangcui7758/article/details/6662646。

总结,我测试过很多次打包成exe在其他电脑上运行都是没有问题的,但是在群里跟他人讨论的时候他们说在某些情况还是会遇到问题,比如用到OpenGL库,一些第三方库如opencv等这样打包运行时就会出问题,我估计是
qt自带的windeployqt.exe这款工具有些库还是找不到的,尤其是外部的库,也就是说还是有一定的局限性,当然这只是我的猜测,我现在还没遇到,等遇到这种情况的时候我会再去寻找解决方法的,到时会继续更新这篇博文。

若有什么错漏之处,欢迎大家指出,共同学习,一起进步啦!!

你可能感兴趣的:(qt5.5程序打包发布以及依赖)