qt程序的发布和打包(转载)

担心原文被作者删除,所以特意留下此文,用于学习。

原文链接: https://subingwen.com/qt/qt-setup/
来自 爱编程的大丙!

目录

1. Qt 程序的发布

1.1 生成 Release 版程序

1.2 发布

2. Qt 程序打包

第一步:创建一个带向导的脚本文件

第二步:直接 Next

第三步:填写相关的应用程序信息

第四步:指定应用程序的安装目录相关的信息

第五步:选择可执行程序和相关的动态库

3. 安装


1. Qt 程序的发布

当 Qt 程序编写完成通过 IDE 编译就可以得到对应的可执行程序,这个可执行程序在本地运行是完全没有问题的(因为在本地有 Qt 环境,程序运行过程中可以加载到相关的动态库),但是如果我们想把这个 Qt 程序给到其他小伙伴使用可能就会出问题了,原因如下:

1.这个小伙本本地根本没有Qt开发环境
2.这个小伙伴本地有Qt开发环境,但是和我们使用的版本不一致
3.这个小伙伴本地有Qt开发环境并且使用的版本与我们一致,但是没有配置环境变量


以上几种情况都会导致我们的小伙伴拿到可执行程序之后无法运行,下面来给大家讲一下解决方案。

1.1 生成 Release 版程序

在编写 Qt 程序的时候,不管我们使用的什么样的 IDE 都可以进行编译版本的切换,如果要发布程序需要切换为 Release 版本(Debug 为调试版本),编译器会对生成的 Release 版可执行程序进行优化,生成的可执行程序会更小。这里以 QtCreator 为例,截图如下:

image-20210626103800057


模式选择完毕之后开始构建当前项目,最后找到生成的带 Release 后缀的构建目录,如下图所示:

image-20210626105306713


进图到 release 目录中,在里面就能找到我们要的可执行程序了

image-20210626105201661


1.2 发布


生成的可执行程序在运行的时候需要加载相关的 Qt 库文件,因此需要将这些动态库一并发布给使用者,Qt 官方给我们提供了相关的发布工具,通过这个工具就可以非常轻松的找出这些动态库文件了,这个工具叫做 windeployqt.exe,该文件位于 Qt 安装目录的编译套件目录的 bin 目录中,以我本地为例:C:\Qt\5.15.2\mingw81_64\bin。

  • C:\Qt 是 Qt 的安装目录
  • 5.15.2 是 Qt 的版本
  • mingw81_64 是编译套件目录
  • bin 存储 windeployqt.exe 文件的目录

如果已经将这个路径设置到环境变量中了,那么在当前操作系统的任意目录下都可以访问 windeployqt.exe


知道 Qt 提供的这个工具之后就可以继续向下进行了,首先将生成的 Release版本的可执行程序放到一个新建的空目录中:

image-20210626111317482


进入到这个目录,按住键盘 shift键然后鼠标右键就可以弹出一个右键菜单

image-20210626111516554


打开 Powershell窗口执行命令:

# LordCard.exe 是可执行程序的名字
# windeployqt.exe 的后缀 .exe 可以省略不写
windeployqt.exe LordCard.exe


image-20210626111804035

这样 LordCard.exe 需要的动态库会被全部拷贝到当前的目录中,如下图:

image-20210626112126270


使用这种方式 Qt 会将一些用不到的动态库也拷贝到当前的目录中,如果确定用不到可以手动将其删除,如果不在意这些,完全可以不用理会,我选择后者。

现在一个绿色免安装版的程序就得到了,可以将这个目录打个压缩包发送给自己的小伙伴,但是这种方式终究比较 low,我们可以将这个目录中的文件制作成一个安装包,这样档次一下就上去了。

2. Qt 程序打包


将应用程序和相关的动态库打包成安装包的工具有很多,我自己用过两个一个是 NIS Edit,一个是 Inno Setup 这是一个免费的 Windows 安装程序制作软件,小巧、简便、精美。

官方下载地址:http://www.jrsoftware.org/isdl.php#stable

其实这两个工具的使用方法是几乎一样的,下面拿 Inno Setup 使用举例。

第一步:创建一个带向导的脚本文件

image-20210626113812932


第二步:直接 Next

不要创建空的脚本文件

image-20210626113940356


第三步:填写相关的应用程序信息

image-20210626114342706


第四步:指定应用程序的安装目录相关的信息

image-20210626114830753


第五步:选择可执行程序和相关的动态库

此处参考的是前边的 1.2 章节中的目录

image-20210626112126270


基于这个目录现在相关的文件和目录:

image-20210626115408833


由于可执行程序关系的动态库有很多,所以可以直接添加动态库的目录,选中对应的目录之后,如果里边还有子目录会弹出如下对话框,选择是即可,需要包含这些子目录。

image-20210626115024716


第六步:给可执行程序管理本地的某种格式的磁盘文件(比如记事本程序会自动关联本地的 .txt 文件),对于我的可执行程序来说无需关联,因此没有做任何设置,直接下一步

image-20210626120117359


第七步:给应用程序创建快捷方式,此处没有进行任何设置,使用的默认选项

image-20210626120343771


第八步:指定文档文件,文件中的内容会显示到安装向导的相关窗口中,可以选择不指定,直接跳过。

image-20210626120633759


第九步:选择安装模式(给系统的当前用户安装还是给所有用户安装),根据自己喜好指定即可

image-20210626120904063


第十步:选择安装语言(这个工具没有提供中文,因此只能选择英文)

image-20210626120954986


第十一步:指定安装包文件的相关信息

image-20210626121437798


第十二步:向导结束,终于结束了。。。

image-20210626121617344


第十三步:提示是否要编译生成的脚本文件,脚本编译完成之后,安装包就生成了。

image-20210626121852663


之后弹出第二个对话框,建议通过向导生成的这个脚本文件,这样以后就可以直接基于这个脚本打包程序生成安装包了。(这个的意思是,下次可以打开这个脚本,修改里面的代码信息,运行后就可以发布了,也可以不保存

image-20210626122038354


编译完成之后,就可以去保存脚本文件的目录找生成的安装文件了

image-20210626122434206


3. 安装


双击生成的安装包文件

image-20210626122927812


输入安装密码

image-20210626123011645


指定安装路径

image-20210626123045653


指定是否创建快捷方式

image-20210626123139406


开始安装应用程序

image-20210626123214383


安装完成,可以指定直接启动安装的应用程序

image-20210626123310152


最后启动游戏测试下是否可以运行

image-20210626123531543


大功告成!!!

担心原文被作者删除,所以特意留下此文,用于学习。

原文链接: https://subingwen.com/qt/qt-setup/
来自 爱编程的大丙!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值