Qt 使用Quazip解压缩、压缩文件

1.环境搭建

Quazip,是在zlib基础上进行了简单封装的开源库,适用于多种平台,利用它可以很方便将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开。

下载Quazip

QuaZIP download | SourceForge.net

解压后,使用QtCreator打开quazip.pro文件。

Qt 使用Quazip解压缩、压缩文件_第1张图片

我这里使用MSVC2015_64的编译器。

拷贝Qt目录下的QtZlib/zlib.h和zconf.h文件到quazip源码目录。

Qt 使用Quazip解压缩、压缩文件_第2张图片

要拷贝的目的目录如下: Qt 使用Quazip解压缩、压缩文件_第3张图片

修改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

然后编译,生成库文件

Qt 使用Quazip解压缩、压缩文件_第4张图片

2.使用

新建工程QuaZipTest,工程同级目录新建thirdPart目录。

Qt 使用Quazip解压缩、压缩文件_第5张图片

thirdPart目录结构如下:

 Qt 使用Quazip解压缩、压缩文件_第6张图片

include目录下,将Quazip的头文件拷贝过去。

 Qt 使用Quazip解压缩、压缩文件_第7张图片

修改 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进阶,qt,开发语言,Quazip,压缩)