1. 前言
Qt 是 1991 年由奇趣科技开发的跨平台 C++图形用户界面应用程序开发框架。它既可以开发 GUI 程式,也可用于开发非 GUI 程式,比如控制台工具和服务器。Qt 是面向对象的框架。相比较Microsoft的mfc框架,我推荐使用Qt平台。
2 搭建Hello工程
2.1 下载QT和软件库
在早期qt版本中,需要单独安装Qt Creator、qt-opensource、mingw三个软件。
- qt-opensource:qt开发过程中所需要的库文件。
- mingw:windos平台下的gcc/g++编译器,在linux平台可以同直接用gcc/g++
在qt5.x版本中只需要下载一个软件,该软件已经集成了所有组件。本次实验采用qt-5.8做测试,读者自行在官 上下载qt-opensource-windows-x86-mingw530-5.8.0.exe软件,为了方便读者下载适应自己的版本,这里讲解名字组成。qt官 下载地址:点击这里。
- 软件平台:windows、linux、src(源代码);
- 系统位数:32位=x86、64位=x64/_64
- 编译器选择:这个选项只针对windos平台,mingw是gcc/g++,msvc是微软的编译器
2.2 安装软件
安装软件和通用软件完全一致,安装过程软件配置环节如图 1所示。上文提到的三个部分这里都能够看到,需要勾选上MinGW选项,然后就是等待安装完成。
图 1
2.3 生成应用程序
首先是搭建app工程,编写代码,此处省略while(!RunCode());字。调试程序选择Debug版本,发布时候选择Release版本。接下来为应用程序添加桌面、任务栏、app边框图标。
准备喜欢的myico.ico素材图标放在工程目录下,同时为工程添加myico.rc名的rc文件内容为:IDI_ICON1 ICON DISCARDABLE “myico.ico”在工程文件*.pro文件中添加RC_FILE += myico.rc。在次运行Release版本生成hello可执行程序。
2.4 提取库文件
提取库文件是方便没有安装qt软件的电脑也能够正常运行qt程序,提取库文件qt有专门的工具,就是qt安装目录中的windeployqt.exe可执行文件。
- 新建install目录,并且把生成的hello可执行程序拷贝到当前目录;
- 打开cmd控制台程序,进入到install目录
- 执行windeployqt.exe hello.exe就能够提取到hello程序所需要的库文件到install目录,如果找不到windeployqt.exe二进制文件,是因为没有将二进制文件的路径声明到环境变量中,绝对路径:E:QtQt5.8.05.8mingw53_32binwindeployqt.exe。这里可能有一个Bug,有几个文件需要单独拷贝出来,文件libgcc_s_dw2-1.dll、libstdc++-6.dll、libwinpthread-1.dll、Qt5Sql.dll。
3. 封装成exe文件
封装成exe的含义是将hello.exe和hello所需要的库文件集合到一个exe软件中,并且在任何电脑能够运行这个exe软件。本次采用Enigma Virtual Box封装软件,该软件可以在官 上下载。搜索软件技巧,输入Enigma Virtual Box download 而不是Enigma Virtual Box下载。Enigma Virtual Box download软件下载地址:点击这里!
打开软件界面如图 2所示,①为hello.exe文件的绝对路径,②封装后的可执行文件的绝对路径和文件名字,③添加库文件,选择递归添加,④封装选项,勾选上⑤,⑥开始封装,完成后就生成hello_boxed.exe可执行程序。
图 2
4. 封装成安装包
封装成安装包含义是将可执行程序和库文件做成一个安装文件,需要安装后再生成可执行程序和库文件,以及配置文件。本次采用Inno Setup封装软件,在官 上下载,正常逻辑安装,以及打开软件,依次点击file->New->Next转到参数界面如图 3所示,这四个选择框分别是应用程序名字、发布版本、发布者、 址。Inno Setup软件下载地址:点击这里!
图 3
下一个界面采用默认值转到添加应用程序和库文件界面,如图 4所示,①选择需要封装的exe文件,②添加需要封装的exe文件所需要的库文件。
图 4
点击Next,后面几个界面同样点击Next,直到转到如图 5所示的界面,四个输入边框分别是生成的安装包目录,安装包名字,安装包图标,打开安装文件所需要的密码。
图 5
接着点击Next,Next直到点击完成按钮,会弹出该软件的compiler界面,然后点击是,继续点击是,提示输入文件名hello.iss,等待输出对话框提示编译完成。那么本次程序封装就完成。
本篇文章讲解了qt封装程序的方法,相对比较简单,没有涉及具体代码,后期会讲解公司财通qt设计的点餐系统,采用tcp搭建多客户端并行访问,数据库记录数据。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!