主要由三部分组成
- 用release方式编译工程
- 用windeployqt解决环境依赖问题
- 用winrar打包成单一exe文件
用release方式编译工程
创建工程之后,默认的编译方式是debug。这样编译出来的exe文件会比release方式编译出来的文件大很多,而且运行时会依赖更多的dll。
所以一般是先选择debug方式调测软件,通过测试之后选择release模式再编译一次。
编译得到的exe文件会存放在release文件夹下面。
![]W66MKTM.png](https://upload-images.jianshu.io/upload_images/9767009-bb90a71c7c446a7a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
cd到release文件夹下点击文件,报错缺少dll。
在文件夹下新增那些dll就可以再本机上正常运行了,但是在别人的电脑上就会报更多错误,各种缺少dll。
用windeployqt解决环境依赖问题
缺少dll的问题可以通过手动加dll解决,但是这样未免太过低效,而且必须到另一个人的电脑上运行一下才知道到底需要哪些dll。
所以Qt官方提供了一劳永逸的方法:windeployqt
ref
在release文件夹下,用Qt自带的命令行输入
windeployqt XXX.exe
就会把所有的dll同步过来。
用winrar打包文件
用以上方法就在所有windows平台运行了。但是每次拷贝都要考一大堆原文件有些不雅,所以可以用winrar把众多dll和exe打包为一个
- 压缩后的文件名称
- 设置自压缩选项
- 解压选项
- 解压后运行
- 选择图标