【QT+QGIS跨平台编译】026:【libzip+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

本文详细介绍了如何使用libzip库进行跨平台编译,包括Windows、Linux和MacOS环境。内容涵盖libzip的介绍、文件下载、文件分析、pro文件配置以及各平台的编译实践,旨在支持QGIS的跨平台编译和二次开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击查看专栏目录

一、libzip介绍

libzip是一个开源C库,用于读取,创建和修改zip文件。
libzip可以从数据缓冲区,文件或直接从其他zip归档文件直接复制的压缩数据中添加文件。在不关闭存档的情况下所做的更改可以还原。
在这里插入图片描述
【libzip跨平台编译】:Windows环境下编译成果(支撑QGIS跨平台编译,以及二次研发)

zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目。 qlibzip 是基于zlib的一个实用程序库,使用Qt和Windows一些底层API实现,它主要用于将文件夹压缩到一个zip文件,或将一个zip文件解压缩到文件夹。 //------------------------------------------------------------------------------ // Description: Compress files to a ZIP file. // Parameter: sourceFiles Source files, supporting wildcards. // Parameter: destFile The ZIP file path. // Return Value: true/false. //------------------------------------------------------------------------------ extern "C" bool ZipCompress(const QString &sourceFiles, const QString &destFile); //------------------------------------------------------------------------------ // Description: Extract files from a ZIP file. // Parameter: sourceFile Source ZIP file. // Parameter: destFolder The folder to output files. The parent of the // specified folder MUST exist. // Return Value: true/false. //------------------------------------------------------------------------------ extern "C" bool ZipExtract(const QString &sourceFile, const QString &destFolder); //------------------------------------------------------------------------------ // Description: Extract special file from a ZIP file into memory block. // Parameter: sourceFile Source ZIP file. // Parameter: entryName Special entry name in ZIP file. // Return Value: Extracted memory block. //------------------------------------------------------------------------------ extern "C" QByteArray ZipExtractItem(const QString &sourceFile, const QString &entryName); 具体实例请看demo文件夹。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翰墨之道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值