说明:本文相关操作均基于 Windows10 操作系统 + Qt应用程序框架(5.14.1) + Qt Creator 集成开发环境(4.11.1) +MinGW编译环境,Qt 及 IDE的版本查询(Qt Creator菜单栏→帮助→About Qt Creator)。

一、.exe文件图标修改

  在打包发布程序之前,我们可能需要先给可执行程序(.exe文件)一个好看的图标。首先我们知道,可以通过 “Qt Creator IDE→设计→属性→windowIcon” 属性直接设置软件运行后的主窗体图标,或者直接通过setWindowIcon(QIcon("你的图片路径"))函数也可以设置。但要设置生成的 .exe 文件的图标,则需要以下步骤。

  1. 选择适合你程序的 .ico 图标,推荐网址:阿里巴巴矢量图标库(免费),下载好后放到你的工程文件夹中。
  2. 新建myApp.txt文本文件在其中输入下面一行代码:
IDI_ICON1 ICON DISCARDABLE "myApp.ico" //双引号中是你的图标名称
  1. 然后修改后缀名 myApp.txt → myApp.rc (也可以直接在IDE中添加资源文件 “Add New→Qt→Qt Resource File”),将该文件放在工程文件夹中并添加到工程中(添加现有文件到工程)。
  2. 双击工程文件在最后添加如下一行代码:
RC_FILE += myApp.rc   //你的资源文件名
  1. 最后,重新构建运行你的程序即可。

二、绿色便携版—打包教程

  绿色便携版提供一个文件夹,该文件夹可以拷贝到任意Windows系统的电脑上通过双击 .exe 文件直接运行,无需安装 Qt 环境。假设新建文件夹 ”GreenSoftwarePack“ ,步骤如下:

  1. 调整工程编译运行方式为 Release,如下图所示。

  2. 构建运行程序后,将出现相应的基于 release 版本构建的文件夹。

  3. 进入该文件夹下的 release 文件夹,找到 " 工程名.exe " 文件,将该 .exe 文件拷贝到绿色便携版文件夹 ”GreenSoftwarePack“ 。此时,如果你在安装 Qt 的时候将各种库的路径添加到了环境变量中,在你的本机上双击该 exe 文件,有可能是能运行成功的,但是直接把该文件拷贝给到别人的机器上是运行不了的,因为缺少相关的动态库文件,手动拷贝各种所需的库文件虽然也是一种解决方法,但没有这么干的 ( •̀ ω •́ )y 。

  4. 为此,Qt 自带了一个拷贝 .exe 程序依赖库的工具 —— windeployqt 。按 Win+Q 键搜索 qt ,调出你的编译器,我用的是 MinGW,如果你安装 Qt 应用程序框架的时候把 bin 目录添加到了环境变量,也可以直接通过控制台进行下面的操作。

  5. 输入如下命令,跳转到你要打包的文件夹路径下(也就是刚刚创建的绿色便携包文件夹 GreenSoftwarePack)。

cd /d C:\Users\Administrator\Desktop\GreenSoftwarePack

  1. 输入命令: windeployqt ***.exe ,其中***.exe是你的 .exe 文件名。windeployqt工具将把该exe程序所依赖的库文件拷贝到该文件夹下。
  2. 正常情况下,此时的绿色便携版文件夹已经可以拷贝到其他的机器上正常运行,但也有可能出现其他机器上仍然提示缺少xxx.dll的情况,这时,需要手动将该dll文件拷贝到该文件夹中。

  还有一种情况就是,当使用 SQLite 数据库的时候,即使按照上面的步骤将所有数据库相关的 .dll 拷贝到了文件夹中,但涉及数据库相关的所有功能仍然都无法使用。这时候,首先看看你的数据库文件有没有建立,即有没有成功创建出 xxx.db 文件,若数据库文件已经成功创建,则可能是源代码中的问题,请逐步调试,若数据库文件都没有创建成功,请参考我的这篇博客:(博客中的方法也可能适用于其他 xxx.dll 不存在的情况)
Qt .exe文件打包发布,SQLite数据库无法使用?拷贝了dll也不行?

三、安装包版—打包教程

  绿色便携版提供一个 .exe 格式的可执行文件,运行该 exe 文件可以按照向导进行软件的安装,首先明确安装包版本的正常运行的前提是,上面的绿色便携版已经成功实现,双击其 exe 文件可以正常运行,且不存在问题。打包教程如下所示:

  1. 首先,我们要用到一个小软件:Inno Setup 。该软件为 Windows 程序提供免费的安装程序设计,且支持用脚本的方式修改程序安装设计步骤。Inno Setup 于 1997 年首次推出,如今在功能集和稳定性方面可与许多商业安装程序相媲美,甚至超过了许多。支持自 2006 年以来的每个 Windows 版本,包括现在最新的 Windows 11。
    官方下载地址:Inno Setup 官方下载地址,下载后按步骤安装即可。

  2. 安装成功后,运行软件,关闭欢迎界面,点击 ”File>New…“ ,然后点击【Next】。

  3. 按照提示输入你的应用程序名称、版本、发布者、网站,然后点击【Next】,这些信息稍后会生成在脚本中,后期可以通过脚本进行修改。

  4. 定义打包文件的输出路径和输出文件夹的名称,然后点击【Next】 。

  5. 这时就用到了上面的绿色便携版,首先添加你要打包的应用程序的可执行文件,就是那个 .exe 文件,然后添加所有依赖的动态库文件、资源文件、配置文件,如下图中的红绿指示框所示。(可以把所有需要的文件放到一个文件夹里,然后点击 Add folder),点击【Next】。

  6. 点击【Next】。

  7. 创建快捷方式相关的选项,根据需要选择,点击【Next】。

  8. 选择 “许可文件”,“安装前的文件”(如下图左侧的Readme 文件等,会在启动安装程序后弹窗展示),“安装后显示信息” 等,点击【Next】。

  9. 选择安装模式是为计算机上所有用户安装,还是仅为当前用户安装等配置,点击【Next】。

  10. 选择安装语言,点击【Next】。

  11. 选择 “编译器输出文件夹”、“编译器输出基本文件名”、“安装程序图标文件”及“安装密码”,点击【Next】。

  12. 选择是否使用 #define 编译指令,选择 yes 也就是在生成的脚本里使用 #define 宏定义一些常量,方便脚本编写,勾不勾选随意,然后点击下一步;

  13. 点击 finish ,开始进行脚本的生成,脚本中的相关信息就是根据上面那些设置产生的。

  14. 生成脚本后会提示是否立刻进行脚本的编译,可以直接编译,也可以自己看着修改一些内容,不用担心看不懂,就是上面设置的相关内容,看着修改即可,

  如果更新了软件版本,重新打包了应用程序的exe文件,可以不重复上述流程,直接将之前的 exe 文件替换掉,然后用之前生成的脚本文件运行,即可生成新版本的 exe 安装包文件,当然脚本可以略做修改,比如软件版本等信息。

  脚本编译的最后产出就是 exe 安装包文件,双击 exe 安装文件即可进行软件安装,该安装文件可以在任意 Windows 机器上运行。

QT Creator 应用程序*.exe文件打包发布详细教程【绿色便携形式 和 安装包形式】相关推荐

  1. Python文件打包封装详细教程

    文章目录 目录 文章目录 什么是打包封装? Python有许多打包封装工具,以下是其中一些常用工具的简介: 一下是PyInstalle打包封装工具的安装及使用教程: 1.安装 PyInstaller ...

  2. Inno Steup 6 下载,安装,将 .exe 文件打包成安装程序(详细教程)

    下载 点击链接进入官网:https://jrsoftware.org/isdl.php 选则版本后,点击下载(以6.2.0版本为例) 等待下载完成 下载完成 安装 双击文件运行 选中语言,默认 Eng ...

  3. C#_打包发布变成一个绿色版本软件——Costura.Fody合并DLL和EXE

    C#_打包发布变成一个绿色版本软件--Costura.Fody合并DLL和EXE 前言:之前使用C#制作软件后使用Costura.Fody打包都挺顺利的,没有遇到什么麻烦,可是现在使用Costura. ...

  4. QT Creator使用matlab库文件读取.mat文件数据

    QT Creator使用matlab库文件读取.mat文件数据 一.环境配置 二.关于编程介绍 三.关于使用函数的介绍 1:关于假设数据类型介绍 2:关于使用函数介绍 一.环境配置 第一步先点开我的电 ...

  5. 在Qt中用默认程序打开文件

    用法:    QProcess::execute("explorer 文件名"); 例:        QProcess::execute("explorer c:\\1 ...

  6. QT Creator应用程序开发——01简单按钮显示

    目录 前言 一.新建项目 二.设计ui页面和编写程序 (一)设计ui页面 1.设置按钮 2.设置标签 3.设置转到槽 (二)编写程序 (三)构建运行 (三)测试 结语 前言 本系列文章,是经博主的QT ...

  7. qt 无法打开shell32_在Qt中用默认程序打开文件

    用法:    QProcess::execute("explorer 文件名"); 例:        QProcess::execute("explorer c:\\1 ...

  8. exe 文件打包和 cmd 常用命令

    exe 文件打包 pip install pyinstaller 打包完成后项目文件夹中会多一个 dist 目录,exe 文件就在其中 打包 ddddocr pyinstaller -D -w ddd ...

  9. Python学习笔记--exe文件打包与UI界面设计

    exe文件打包与UI界面设计 前言 一.基于tkinter实现的UI设计 1.1 库的选择及思路 1.2 定位方法的选用 1.3 Frame控件 1.4 变量设置 1.5 批量设置 1.6 Text文 ...

最新文章

  1. Dijkstra模板
  2. javascript基础拾遗——词法作用域
  3. 【DDS】基于FPGA的DDS研究与设计
  4. CSS设置动态超链接
  5. pat天梯赛L2-010. 排座位
  6. java数据结构-Vector
  7. 北交专升本计算机联锁考试题,北交《计算机联锁技术》在线作业一15春满分答案...
  8. 国科大高级人工智能8-归结原理和horn子句
  9. vs2017 圈复杂度_2017年有趣而复杂的法律问题
  10. 并发编程实战——锁分段
  11. 安卓程序代写 网上程序代写[原]Android开发技巧--ListView
  12. 共享计算机管理员权限设置,有共享文件夹。怎么从局域网取得管理员权限
  13. jeesit1.27使用(1)-字典使用
  14. opencv旋转摄像头
  15. dubbo之failed to connect to server /xx.xx.xx.xx:20880 client-side timeout问题解决
  16. Python爬虫实战之爬取链家广州房价_04链家的模拟登录(记录)
  17. 2017携程java后台开发工程师暑期实习生招聘面试经验分享
  18. 测试用例的设计方法(全)
  19. 欧拉函数φ(x)相关性质及计算
  20. java 公交管理系统 代码_Java学员作品-城市公交管理系统

热门文章

  1. html img 拉伸,图片因img标签拉伸的处理办法
  2. 工作20天之感悟(嵌入式开发)
  3. .7z.001 这种让人头疼的分卷格式
  4. 如何低成本快速积累用户,分享4种无脑式操作
  5. python文件拷贝并校验_Python札记 -- 文件校验
  6. 天下大事,必作于细。
  7. DevOps ACA 阿里云效软件测试和质量保证(八)
  8. 2021年塔式起重机司机复审考试及塔式起重机司机考试试题
  9. SpringAop两种配置:xml配置和注解方式
  10. 一行命令批量修改染色体和位置为RS号