Qt打包工具windeployqt自动打包exe程序
- 一、Qt打包工具windeployqt自动打包exe程序
- 1.问题所在
- 2. 如何使用
- 3. 注意点
- 3.1 第一点
- 3.2 第二点
- 3.3 更直接的解决方法(不是最优的办法,但是方便好用)
- 二、应用程序的发布
一、Qt打包工具windeployqt自动打包exe程序
参考链接
1.问题所在
开发好 Qt 程序,编译好 exe,在自己电脑上运行完全没问题,还需要放到其他电脑(windows)上依旧可正常运行(其他电脑上有的没有带运行时所需的库),所以需要把 exe 需要的所有依赖的库都打在一个包里。
2. 如何使用
在 Qt 中,有一个工具专门干的就是把 Qt 开发的 exe 依赖的所有库自动添加到所需的目录,它就是 windeployqt.exe(在Qt的安装目录下),或者从开始菜单查找。
直接在命令行中直接输入具体命令的路径 (用鼠标直接拖放应用程序到这个界面,路径也就自动填写了) ,不用添加环境变量,也不用进入 exe 所在目录,如图:
3. 注意点
3.1 第一点
发布 Qt 程序,必须编译生成 Release 版本的 exe, 不能使用 Debug 版本(使用 Debug 版本会报错,还不知为何?有待细索~)
3.2 第二点
使用 windeployqt 命令打包时注意区分 32 位和 64 位(二者区别当然很大),对应上你的 exe 程序位数(不然会提示很多运行时库的问题),下图是我的 Qt 安装目录展示:
3.3 更直接的解决方法(不是最优的办法,但是方便好用)
把系统盘Windows\System32(使用32bit编译),或者Windows\System(使用64bit编译)下的*.dll文件全部复制到U盘,新建一个system文件夹,然后在另外一个装有Windows系统的PC机上,先运行程序,看缺少哪个dll,就在U盘system文件夹下复制对应的dll文件,直至程序成功运行。第三方单独编译的库,需要提前复制到应用程序所在目录。
二、应用程序的发布
只有了可直接使用的exe还是不够方便啊,想想自己下载的软件不都是有安装包吗,下载安装包就能直接运行,我们也安排上!!
要生成安装包需要用到Inno setup,毕竟咱自己个捣鼓也不会是吧
1)下载软件,点击链接Inno Setup Downloads
2)下载好后进入, 创建一个向导脚本
![在这里插入图片描述](https://img-blog.csdnimg.cn/c4e3c04302e449589a9ac42ca3384d8d.png#pic_center