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:\Users\Desktop\APP1  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文件,安装成功且成功运行则打包完成。

   

   

   

   

   

猜你喜欢

转载自www.cnblogs.com/audacious/p/12236950.html