欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

跟535一起从零开始学QT特别篇-如何封包

程序员文章站 2024-01-14 13:37:10
...

本文由博主与另一位博主合作创作:链接:Sookie#
感谢她所提供的QT项目

主要内容

本篇博客的主要内容是介绍在拿到一个完整的QT项目之后,如何操作才能使得你的QT项目转化称为一个可以直接运行的exe程序。

材料

  1. 完整的QT项目文件
  2. Qt Creater
  3. Enigma Virtual Box

关于Enigma Virtual Box

这个软件是把一系列文件封装成为一个文件的利器。官网上有免费版
链接在这里:官网下载网址:https://enigmaprotector.com/cn/aboutvb.html
注意,这个软件默认支持中文,在Language里面可以设置

过程

主要流程分为以下几步

  1. 在Qt Creater中以release模式编译项目
  2. 用对应的编译器部署该exe文件
  3. Enigma VB封装成一个exe

以下将会对每一个步骤进行详细的展开说明

下面我会用Desktop Qt 5.12.8 MinGW 64 bit编译器来编译p2这个项目.
其中XXX用来代替项目名,OOO用来代替编译器(不过所有(空格)和.都会被_取代)

Release编译

打开你的项目,在编译的模式里面(也就是左下角如图所示的位置)选择以release模式进行编译
跟535一起从零开始学QT特别篇-如何封包
然后点击上图所示的两个绿色标志中的上面那个进行编译。

注意:如果你使用下面那个带虫子的绿箭头,那么无论你用啥模式,编译出来都是Debug模式

部署exe

准备工作-移动文件

移动文件的目的是让我们最后封装的东西没有冗杂

当你点击编译完成后,会在与原工程同等级的地方出现一个新的文件夹。
名称为build-XXX-OOO

例如上述案例中,原工程文件在

D:\Qt\p2

那么我们需要找到

D:\Qt\build-p2-Desktop_Qt_5_12_8_MinGW_64_bit-Release

在这里面找到release文件夹,将其中的exe给单独提到一个地方去。例如D盘根目录。
跟535一起从零开始学QT特别篇-如何封包
这里出现Debug后缀的原因是,我用Debug编译过。不用管它,打开那个release就对了

打开第二张图中的release文件夹,里面大概会有这些东西。然后把p2.exe复制一份到D盘根目录下新建一个文件夹Ball即可
跟535一起从零开始学QT特别篇-如何封包

如果你没有开文件后缀名,你可能会看到类似这种的场景(感谢一位不愿透露姓名的好心人士供图)

跟535一起从零开始学QT特别篇-如何封包
这个图里面,类型是应用程序的那个文件,它的拓展名就是.exe。也就是我们需要的那个文件。

注:只是显示中它的名字叫HappySnake,它实际上的全名是HappySnake.exe。下面所有步骤还是要带.exe的!

部署

打开你的"开始"菜单,找到Qt那个文件夹,找到与你的编译器OOO对应的那个版本

跟535一起从零开始学QT特别篇-如何封包
比如我这里是用的Qt 5.12.8 (MinGW 7.3.0 64-bit),那么我就打开这个东西。

首先先输入D:转移到D盘中来.然后通过cd到指定的文件夹,比如我这里是cd D:\Ball

然后输入windeployqt p2.exe,等待它的一系列操作。

跟535一起从零开始学QT特别篇-如何封包
操作完成之后是这样的

跟535一起从零开始学QT特别篇-如何封包
不要怕,这些东西弄完之后,你点p2.exe就可以运行了!
如果你想让你的朋友们一起运行你的程序,你只需要把这个文件夹拷贝给他们就可以了!

Engima VB封包

打开你的Engima VB
跟535一起从零开始学QT特别篇-如何封包
主程:刚才那个D:\Ball文件夹的p2.exe文件
另存:最终结果的那个exe应该放到哪里

除此之外,需要点击左下角增加...选择第二个选项,增加增加文件夹[递归]也就是第二个选项。把D:\Ball这个文件夹添加进来。选择文件夹的时候,就直接用它默认那个就行了。

然后把你添加的那个文件夹里面的exe删了(因为我们在最上面主程那里已经添加过了

跟535一起从零开始学QT特别篇-如何封包
依次点击箭头所示区域,然后点移除!

移除完成后,点执行封包,等它封装完成就可以了。

注:封装完成后关闭的时候,保不保存随便,没啥影响。不保存的话就是下次封包重新走一遍选文件的流程罢了。

结束

封装完成后,找到那个封包程序另存的那个文件,这就是我们一开始所说的那一个可以直接运行的文件了!把它发给你的朋友or其他用途,就可以当一个朴实无华且枯燥的exe程序了。

相关标签: QT Qt Qt入门