QT 打包发布Release应用程序

一、用windepolyqt.exe提取应用程序依赖.dll文件

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:\Users\Desktop\APP1  HID.exe

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

二、打包应用程序和动态依赖库

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

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

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

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

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

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

 

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

猜你喜欢

转载自blog.csdn.net/yhl_sophia/article/details/83311047