文章目录
前言
Qt工程中需要用到zip压缩解压功能,网上搜索了下,一般有以下三种使用:
- Qt自带的zipWriter与zipReader
- zlib
- Quazip
对于第一种,使用Qt自带的zipWriter与zipReader,需要在工程文件添加gui-private模块,然而在安装Qt时如果未勾选Source安装的话,是没有这个模块的,而且此模块为某几个版本的私有模块,可能升级Qt之后就没有此模块了,Qt官方也不推荐使用;
对于第二种zlib,一般需要进一步封装使用,此处不做说明;
对于第三种Quazip,是在zlib基础上进行了简单封装的开源库,适用于多种平台,利用它可以很方便将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。
使用VS2019+Qt5.15.2编译Quazip
一、下载Quazip
前往Quazip下载地址下载0.7.3版本源码.解压之后如下所示:
二、编译Quazip
1.使用vs2019打开quazip.sln
出现以下错误,莫方,点击确定。
2.使用Qt VS Tools打开外层的.pro工程
一直确定就可以成功加载了
3.编译
查看msvc版本及路径
打开msvc2019_64\include\QtZlib目录,将两个头文件拷贝到工程目录下
重新生成,编译通过!
再切换到release模式下编译,最终需要的文件有:
debug下的lib和dll库
release下的lib和dll库
quazip工程目录下的所有.h文件和.cpp文件
三、工程使用
将debug/release动静态库和include文件拷贝到zip文件夹下,将zip文件夹拷贝到工程目录下
1.配置头文件路径
2.配置静态库lib目录
3.添加库
release模式配置相同
4.动态库dll放到.exe同级目录下
5.使用
#include "JlCompress.h"
// 解压文件
JlCompress::extractFile("F:\\test.zip", "F:\\test.txt");
// 压缩文件
JlCompress::compressFile("F:\\test.zip", "F:\\test.txt");
// 解压文件夹
JlCompress::extractDir("F:\\test.zip", "F:\\test");
// 压缩文件夹
JlCompress::compressDir("F:\\test.zip", "F:\\test");