CMake----编译构建开源工具软件,zlib、quazip

前言

注意本文使用的编译工具链位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
若无积分,可以邮箱联系(需要你的一些支持)

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: cmake-gui是一个图形界面工具,用于帮助配置交叉编译环境。交叉编译是将源代码从一种平台编译成在另一种平台上运行的可执行程序的过程。以下是使用cmake-gui来配置交叉编译环境的步骤: 1. 打开cmake-gui工具。 2. 在"Where is the source code"字段中输入源代码的路径。 3. 在"Where to build the binaries"字段中输入生成的可执行文件的路径。 4. 在"Generator"字段中选择要使用的交叉编译器。 5. 在"Specify toolchain file"字段中选择交叉编译工具链文件。 6. 单击"Configure"按钮,cmake-gui将自动检测交叉编译器和工具链文件,并在窗口中显示相关的设置选项。 7. 根据实际情况修改和配置生成选项,例如选择要构建的目标平台、设置编译器选项等。 8. 单击"Generate"按钮,cmake-gui将生成Makefile或其他构建系统所需的配置文件。 9. 在终端中进入生成的可执行文件路径,并执行构建命令(例如make),即可开始交叉编译。 10. 等待编译过程完成,生成的可执行程序将位于指定的二进制路径中。 使用cmake-gui进行交叉编译配置可以简化配置过程,提供了直观的图形界面操作,同时也可以让开发人员灵活地根据需求进行各种配置选项的设置,方便进行跨平台开发和调试。 ### 回答2: cmake-gui是一个基于图形界面的CMake配置工具,用于帮助开发者进行跨平台和交叉编译的配置。 交叉编译是指在一个主机上构建编译和运行适用于另一个主机系统的程序。在进行交叉编译配置之前,首先需要确定目标主机的架构、操作系统和编译器等信息。 使用cmake-gui进行交叉编译配置的步骤如下: 1. 打开cmake-gui工具。 2. 在"Where is the source code"一栏中,输入项目的源代码路径。 3. 在"Where to build the binaries"一栏中,输入项目的构建路径。这里可以选择在当前工作空间内或者指定一个新的目录。 4. 点击"Configure"按钮,选择对应的生成器。在弹出的对话框中,根据目标主机的操作系统类型选择对应的生成器。例如,如果目标主机是使用GNU make系统,则选择"Unix Makefiles"生成器。 5. 在"Optional platform for generator"一栏中,填写目标主机所属的平台。例如,如果目标主机是使用armv7架构,则填写"armv7"。 6. 在"Optional toolset to use"一栏中,填写用于构建目标程序的工具集。这里可以选择在配置时指定编译器和工具链。 7. 点击"Finish"按钮,开始进行交叉编译的配置过程。 8. 在配置过程中,cmake-gui会根据所选择的生成器和目标主机的相关信息,分析项目的CMakeLists.txt文件,并生成相应的配置文件。如果配置过程中缺少依赖库或编译工具等,可以在cmake-gui的界面上进行相关设置。 9. 配置完成后,点击"Generate"按钮,即可生成对应的项目构建文件。 通过以上步骤,我们可以使用cmake-gui工具进行交叉编译配置,从而在不同的主机上构建和运行适用于目标主机系统的程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值