QT 打包发布应用程序

Posted audacious

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT 打包发布应用程序相关的知识,希望对你有一定的参考价值。

已剪辑自: https://blog.csdn.net/yhl_sophia/article/details/83311047

? ?

一、用windepolyqt.exe发布exe应用程序

QT Creator release.exe应用程序的运行需要依赖一些动态链接库,如果在一台没有安装QT的计算机上运行就需要打包动态库拷贝过去才能运行。QT自带有windeployqt.exe可执行程序可以将应用程序所依赖的.dll文件提取出来。

在这里要非常注意的一个坑:QT项目中release用的是哪个编译器,就应该运行哪个bin文件下对应的windeployqt.exe,例如我这里用的是MSVC2015 64bit的编译器,因此就要去QT安装目录下的msvc2016_64下的bin文件夹找windeployqt.exe可执行程序。如果使用的windeployqt.exe不对,打包后运行会提示缺少.dll文件,如缺少VCRUNTIME140_APP.dll(缺少VCRUNTIME140.dll一般是因为电脑没有安装Microsoft Visual C++ 2015 Redistributable(x64/x86)这两个库,如果安装了点击修复,如果还出现缺少.dll文件,像我这里一样,就要看看用的windeployqt.exe对不对了)

技术图片

技术图片

? ?

之后打开CMD命令操作窗口,进入windeployqt.exe所在的目录,执行 windeployqt.exe? 存放文件夹? 项目.exe?

程序就会将所依赖的库放到执行的存放文件夹中

例如我要放的文件夹是桌面上的APP1文件夹,项目可执行程序时HID.exe,则进入windeployqt.exe所在目录执行以下命令:

windeployqt.exe? C:UsersDesktopAPP1? HID.exe

技术图片

此时双击HID.exe就可以运行了,将整个文件夹拷贝到另一台没有安装QT的电脑上也可以运行。

二、打包成单文件exe

打开运行Enigma Virtual Box:

技术图片

按照上图的示意,添加路径和文件如下图。文件可以托选,选择所有文件后,直接拖入界面框内。注意是要所有文件和文件夹全部拖进。示意图如下:

技术图片

? ?

在【Files Options】中可以选择是否将文件压缩:

技术图片

? ?

最后,点击Process开始打包。

? ?

三、打包安装程序

? 应用程序的我这里用Inno Setup Complier软件进行操作,下载网址:http://www.jrsoftware.org/isdl.php#stable

?? 安装完成后打开Inno Setup Complier,选择使用向导新建脚本文件

技术图片

填写程序名称、版本、发布者、网站等信息

技术图片

? ?

技术图片

将.exe文件和依赖的动态库以及文件夹全部添加进去

技术图片

填写需要的信息?,修改安装文件的名称

技术图片

选择现在编译,且保存脚本文件,也可以修改脚本文件从而修改安装的信息

技术图片

? ?

技术图片

之后就可以在相应的文件夹下找到对应的.iss脚本文件以及Output里面的Setup文件,运行Setup文件,安装成功且成功运行则打包完成。

? ?

? ?

? ?

? ?

? ?

以上是关于QT 打包发布应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Linux 打包 QT 程序

QT 打包发布应用程序

Window平台QT应用程序打包发布注意事项

Window平台QT应用程序打包发布注意事项

QT程序打包发布

QT5的程序打包发布(打包成exe可执行程序)