Qt使用Quazip解压缩、压缩文件的实现
作者:Mr.codeee
Quazip是在zlib基础上进行了简单封装的开源库,利用它可以很方便将单个或多个文件打包为zip文件,本文主要介绍了Qt使用Quazip解压缩、压缩文件的实现,具有一定的参考价值,感兴趣的可以了解一下
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\
到此这篇关于Qt使用Quazip解压缩、压缩文件的实现的文章就介绍到这了,更多相关Qt Quazip解压缩内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
