Quazip是Qt平台下面的一个压缩解压缩库。Quazip编译需要依赖zlib库,前面已经讲过windows系统编译zlib—>windows系统编译zlib。
在已编译zlib的基础上,本文继续来讲Quazip的编译以及测试工程中的解压缩。大致流程为:下载Quazip源码->编译Quazip并生成库->将头文件和生成的库复制粘贴到测试工程文件目录中->修改测试工程的pro文件并添加解压缩测试代码。
编译quazip
从官网下载Quazip源码压缩包,官网地址:http://quazip.sourceforge.net/ 在官网可以看到它支持的平台以及下载入口。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yMjZDOkBDNjZzYhZTMhBTYjlzMlJjNzAjN2YTMwkTY48CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
下载压缩包之后解压,在quazip文件夹下创建lib文件夹,将之前zlib编译生成的zlib1.dll库复制粘贴进来。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5AuhFHEO-1621995996135)(https://gitee.com/a-shu123/picture/raw/master/2021-5-24/1621854609799-1.png)]
在quazip文件夹下创建include文件夹,将zlib中的头文件zlib.h以及zconf.h复制粘贴进来。
在Qt Creator中打开quazip文件夹下的工程文件,在pro文件中加入以下代码:
INCLUDEPATH += $$PWD/include
LIBS += -L$$PWD/lib -lzlib1
即:
分别编译Debug和Release,
编译成功后,在生成的build-quazip-Desktop_Qt_5_9_1_MinGW_32bit-Release文件夹的release下,会生成生成libquazip.a和quazip.dll库。同样,在生成的build-quazip-Desktop_Qt_5_9_1_MinGW_32bit-Debug文件夹的debug下,会生成生成libquazipd.a和quazipd.dll库。
解压缩测试
新建测试工程,在测试工程文件夹下,新建lib文件夹,将Quazip刚才编译生成的quazipd.dll、quazip.dll和zlib编译生成的zlib1.dll库复制粘贴进来;
新建include文件夹,将quazip和zlib的头文件加进来;
Qt Creator打开测试工程,在pro文件中添加库文件和头文件路径,这里要区分一下debug和release版本,代码如下:
INCLUDEPATH += $$PWD/include
CONFIG(debug, debug|release) {
LIBS += -L$$PWD/lib -lquazipd
} else {
LIBS += -L$$PWD/lib -lquazip
}
对于上面代码CONFIG(debug,debug|release),它有两个参数,第一个参数表示判断debug是否为active,第二个参数表示为互斥选项的一个集合。
引入解压缩的头文件:
#include <JlCompress.h>
解压缩代码:
JlCompress::extractDir("D:/down/test.zip", "D:/down/test"); //解压
JlCompress::compressDir("D:/up/test.zip", "D:/down/test"); //压缩
编译运行,解压缩成功!