前言
注意本文使用的编译工具链位MinGW 7.3.0 32bit
最近在项目开发中,开发了一个QT上位机软件升级功能的一个工具,由于升级软件是对内部使用的,本着快速开发和合理利用资源的原则,选用了NAS里自带的FTP服务功能(这里有一个坑)。
由于新版QT中自带的Network中的ftp组件,已经不像之前的qftp那么好用了(之前的组件带有文件ftp管理器的功能、类似增删查改),新版的Network仅提供下载和上传,为了降低软件的复杂度,直接将固件打包成压缩文件上传服务器进行维护。此时就需要能支持压缩包解压的功能。
在网上搜寻了一番资料,普遍的用法就是使用开源的解压工具库zlib及基于zlib的quazip工具。虽然开源工具开放了源码,可以直接放到工程里用,但是也有涉及到平台依赖的可能,比如linux环境及window环境就可能需要一些方式兼容。所以使用编译工具来构建这些开源工具的环境是比较合理的,比如CMake,像QT用的就是QMake。那么本文介绍在windows平台上,基于CMake构建开源工具zlib、quazip的步骤。
准备工作
1、下载安装好CMake
2、准备好Zlib、quazip源码
CMake下载路径
windows平台选择 Windows x64 Installer,最新的64位安装版即可:
https://cmake.org/download/
Zlib下载路径
在网页中部选择下载你所需要的格式的源码压缩包,本教程使用的是当前最新版本 zlib 1.2.12 ,由于是windows平台选择zip格式的文件包,方便
https://github.com/madler/zlib/releases
quazip下载路径
作者将源码发布到了github上,可能需要墙,不过大家可以把仓库fork到gitee上进行获取。惯例,选择最新版本 quazip v1.3
https://github.com/stachenov/quazip/releases/tag/v1.3
开始构建
安装CMake就不赘述了,傻瓜式安装。
构建 - zlib 1.2.12
配置CMake生成Makefile
打开CMake的GUI,按图填入相关内容:
点击完Configure后,会出现一长串新增的内容(在CMake界面呈现红色的),介绍一下几个配置选项。
上述大多都是路径的选择,这里选择一下即可,能让你方便的找到,配置好环境后,点击Configure旁的Generate即可,成功Generate会提示 Generating done 字样。
此时makefile已经生成,下面就可以进行编译工作。
使用MinGW构建软件
使用QT自带的MinGW环境配置工具,会配置好环境并自动进入终端。
使用命令进入在CMake中配置的binaries路径
cd /d 路径
使用make命令开始编译,使用MinGW在windows下的make命令为,如下图:
mingw32-make
编译过程如下,产物在过程中也有提示
下面可以使用make install
mingw32-make install
将库单独拿出来,如图
自此,程序及库构建完成
构建 - quazip v1.3
同样的步骤,一样通过CMake来配置编译过程
配置CMake生成Makefile
配置过程一样,设置目录,添加编译工具环境,选择Mingw-make。
主要介绍一些编译选项,一些和zlib相似的配置就不介绍了,主要介绍差异的部分。
配置好后,重新点击configure,已经没有报错了,可以直接generate。
使用MinGW构建软件
过程和zlib一样,使用make命令及install即可编译构建目标。
结语
自此上述的库文件都构建出来了,进一步即可在工程中应用库文件进行开发工作。
过程中编译的产物及源码资源已上传CSDN:
https://download.csdn.net/download/JC_gogo/85800031
若无积分,可以邮箱联系(需要你的一些支持)