利用qt实现解压缩zip文件

作者开发环境:Qt5.8 ,win10

总体思路:首先我们编译zip源码,生成zip的动态库;然后再编译quazip源码,得到quazip的动态库;最后在我们的程序中去调用。

详细步骤:

1、编译zlib

zlib源码下载:https://www.zlib.net/

zlib的编译,参考:https://blog.csdn.net/mml5211314/article/details/90754371

2、编译quazip

QuaZip是Qt对Zlib进行封装,用于压缩和解压文件的库。

quazip源码的下载:https://sourceforge.net/projects/quazip/

下载下来后,如果直接编译会报错,我们做如下更改:

(1)打开刚刚下载的quazip.pro,第二行SUBDIRS=quazip qztest 改为SUBDIRS=quazip 

(2)将qt安装目录下的两个头文件拷贝出来(zlib.h和zconf.h),不同版本路径可能有出入。将两个头文件拷贝到quazip项目路径中,然后添加到项目程序中。

(3)在quazip中创建lib文件夹
利用qt实现解压缩zip文件_第1张图片
将zlib编译好的动态库拷贝到lib文件夹下
利用qt实现解压缩zip文件_第2张图片
修改quazip.pro工程文件。添加动态库路径

LIBS += -L$$PWD/lib -lzlib1

       

        编译成功后,生成的libquazip.a,quazip.dll(如果是debug版本编译生成的就是libquazipd.a和 quazipd.dll)就是我们需要的。

3、创建测试工程

        同理,创建include和lib目录,分别放头文件和动态库文件。从quazip拷贝所有头文件到include文件夹下,拷贝刚刚生成的动态库文件到lib文件夹下(quazip.dll、libquazipd.a是quazip动态库,zlib1.dll是zlib动态库)。
利用qt实现解压缩zip文件_第3张图片

修改quazipTest.pro工程文件,添加头文件路径和动态库路径,这样环境就搭建好了。

利用qt实现解压缩zip文件_第4张图片

4、添加压缩解压代码

包含头文件    #include "JlCompress.h"

  1. JlCompress::compressDir("D:/testzip/a.zip", "D:/testzipdir1");  //压缩文件

  2. JlCompress::extractDir("D:/testzip/a.zip", "D:/testzipdir2");      //解压缩

 

 


 

你可能感兴趣的:(Qt)