1.环境搭建
Quazip,是在zlib基础上进行了简单封装的开源库,适用于多种平台,利用它可以很方便将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。
下载Quazip
QuaZIP download | SourceForge.net
解压后,使用QtCreator打开quazip.pro文件。
我这里使用MSVC2015_64的编译器。
拷贝Qt目录下的QtZlib/zlib.h和zconf.h文件到quazip源码目录。
要拷贝的目的目录如下:
修改quazip.pri文件如下图所示:
添加
$$PWD/zconf.h
$$PWD/zlib.h
INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
HEADERS += \
$$PWD/crypt.h \
$$PWD/ioapi.h \
$$PWD/JlCompress.h \
$$PWD/quaadler32.h \
$$PWD/quachecksum32.h \
$$PWD/quacrc32.h \
$$PWD/quagzipfile.h \
$$PWD/quaziodevice.h \
$$PWD/quazipdir.h \
$$PWD/quazipfile.h \
$$PWD/quazipfileinfo.h \
$$PWD/quazip_global.h \
$$PWD/quazip.h \
$$PWD/quazipnewinfo.h \
$$PWD/unzip.h \
$$PWD/zip.h \
$$PWD/zconf.h \
$$PWD/zlib.h
SOURCES += $$PWD/qioapi.cpp \
$$PWD/JlCompress.cpp \
$$PWD/quaadler32.cpp \
$$PWD/quacrc32.cpp \
$$PWD/quagzipfile.cpp \
$$PWD/quaziodevice.cpp \
$$PWD/quazip.cpp \
$$PWD/quazipdir.cpp \
$$PWD/quazipfile.cpp \
$$PWD/quazipfileinfo.cpp \
$$PWD/quazipnewinfo.cpp \
$$PWD/unzip.c \
$$PWD/zip.c
然后编译,生成库文件
2.使用
新建工程QuaZipTest,工程同级目录新建thirdPart目录。
thirdPart目录结构如下:
include目录下,将Quazip的头文件拷贝过去。
修改 QuaZipTest,pro文件
QMAKE_LIBDIR += $$PWD/../thirdPart/quazip/
INCLUDEPATH += $$PWD/../thirdPart/quazip/include
LIBS += -lquazip
使用代码示例:
// 解压文件
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");
3.quazip类说明
类 | 说明 |
---|---|
JlCompress | 典型操作工具类 |
QuaAdler32 | Adler32算法校验和 |
QuaChecksum32 | 校验和接口 |
QuaCrc32 | CRC32校验和 |
QuaGzipFile | GZIP 文件操作 |
QuaZIODevice | 压缩/解压 QIODevice |
QuaZip | ZIP 文件 |
QuaZipDir | ZIP文件内目录导航 |
QuaZipFile | ZIP文件内的文件 |
QuaZipFileInfo | ZIP压缩包内的文件信息 |
QuaZipFilePrivate | QuaZip的接口 |
QuaZipNewInfo | 被创建的文件信息 |
QuaZipPrivate | QuaZIP内部类 |
4.QtCreator无法使用msvc的编译器解决方法
编译项目,提示无法运行“rc.exe”
使用everything搜索rc.exe和rcdll.dll这两个文件,然后拷贝
D:\Windows Kits\10\bin\10.0.17763.0\x64\rc.exe
到
D:\Qt\Qt5.11.0\5.11.0\msvc2015_64\bin\