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.hSOURCES += $$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/includeLIBS += -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\