个人学习QT程序 不久,需要进行程序打包,查找网上教程进行打包,结果仍存在问题,通过问题分析,终于打包成功。下面对VS2015打包发布过程进行记录,方便遇到同样问题的开发人员能快速定位问题。
一、生成exe程序
项目编译,在Debug/Relesse目录下生成exe程序,同时确保调试模式程序可正常启动。
二、exe打包路径准备
确认QT本地安装路径,如安装在C盘,则在C盘创建打包路径;如安装在D盘,则在D盘创建打包路径。目前QT安装在D盘,则在D盘创建exe打包文件路径,并将exe程序拷贝至文件路径下。
三、QT工具发布部署过程
首先,打开QT-MSVC-64位编译器,进入到exe打包文件夹路径;
然后,采用windeployqt工具部署exe程序;
最后,查看exe的打包文件夹路径。
四、QT打包程序运行
在qt的exe文件打包路径下,直接运行exe,确认是否着正常运行。
如缺少dll,则从Debug或者Release路径下,将对应dll拷贝至打包路径下,确认exe是否正常运行,如正常运行,则打包完成。
五、打包异常问题
目前打包时遇到异常:程序出现应用程序无法启动,错误0xc000007b;
出先该问题原因可能为:1)qt存在多个版本编译器,编译exe的程序版本与打包exe程序使用qt编译器为不同版本;2)dll程序的使用与exe不匹配的平台类型,例如x64位程序使用x32位程序的引用包。
第一类问题,重新查看VS编辑器中QT的编译器版本,确认与打包发布时程序版本一致;
第二类问题,通过depends.exe查看当前exe是否包含x86的安装包,如存在,则将对应x86版本包改为x64版本dll动态库包。
具体解决方案参看:
https://www.cnblogs.com/csuftzzk/p/windows_launch_error_0xc000007b.html
depends工具下载路径: