QT 打包发布应用程序
Posted audacious
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT 打包发布应用程序相关的知识,希望对你有一定的参考价值。
目录 |
????- 一、用windepolyqt.exe发布exe应用程序 ????- 二、打包成单文件exe ????- 三、打包安装程序 ?? |
已剪辑自: 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 打包发布应用程序的主要内容,如果未能解决你的问题,请参考以下文章