您的位置:首页 > 编程语言 > Qt开发

Qt5.6windows打包发布

2016-07-18 09:43 417 查看
学Qt5也有一段时间了,但是一直没有发布过程序,因为写的程序一直都是给自己用的,也从来没想过要打包发布。不久前做了个“动力调试软件”给A,是时候研究程序发布了。
刚开始脑子想的比较简单,想着直接编译Release版本,找到Release文件夹中相应的exe即可,编译完成后,先在B的电脑上试了一下,发现可以用,兴高采烈地把软件发给了A,大概10天之后,收到反馈,软件无法打开。师兄说有一些dll没有复制过来,可是我B电脑上试过是可以的啊。细想之后明白了问题的关键:B的电脑上安装了Qt,所以程序运行时会自动调用安装目录下的dll。于是换了一台没有安装Qt的电脑重新试了一下,发现软件确实无法打开。
根据弹出的错误提示,从安装目录下拷贝相应的dll,将其与Release文件夹中的exe文件放入同一个文件夹中。在没有安装Qt的电脑上试了下,还是失败。问了下Qt大牛,回复说一些插件没有复制到,百度搜“windows
qt 部署”,搜索以后发现给出的方法都很晦涩难懂。结果又一通乱搜,偶然搜到一个方法,发现很好用,亲测有效,分享给大家:
1.首先编译生成Release版本
2.找到Release版本下对应的exe文件
3.在Release文件夹中,新建个.bat批处理文件(新建.txt文件,更改文件扩展名即可),将下面的代码复制进去。
 
如果使用的msvc版本的:
C:\Qt\Qt5.6.1\5.6\msvc2013_64\bin\windeployqt.exe myexe.exe
 
Pause
 
如果使用的是mingw版本的:
C:\QT5\5.6\mingw492_32\bin\windeployqt.exe myexe.exe
 
Pause
 
代码解析:C:\Qt\Qt5.6.1\5.6\msvc2013_64\bin\windeployqt.exe这个是windeployqt.exe工具的路径,要根据自己的qt安装情况进行修改,首先在这里看能不能找到windeployqt.exe,找到了直接把其路径复制过来即可;myexe.exe则是你的可执行程序的名称,不要照抄这里的。
4.上面的步骤完成之后,双击.bat文件,就会把需要用的所有dll文件自动复制到Release文件夹中。
5.将.exe文件和刚才自动复制的所有dll文件放在一个单独的文件夹中。在未安装Qt的电脑上试一试。
6.接着就需要把这些文件打包成一个exe文件了,我用的是Enigma Virtual Box这款软件(附下载)。软件操作很简单,完全可以看懂。
7.打包完成后只需要将新生成的exe文件发布给用户使用就可以了。
 
 
 
附原文链接:http://blog.sina.com.cn/s/blog_66cd08930102w74s.html
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt windows 发布