qt开发解压缩zip文件实现

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

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

详细步骤:

1、编译zlib

zlib源码下载:zlib Home Site

zlib的编译,参考:QT 编译zlib_qt zlib-CSDN博客

2、编译quazip

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

quazip源码的下载:QuaZIP download | SourceForge.net

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

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

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

(3)在quazip中创建lib文件夹

​编辑
将zlib编译好的动态库拷贝到lib文件夹下

​编辑
修改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动态库)。

​编辑

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

​编辑

4、添加压缩解压代码

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

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

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

相关推荐

  1. zip压缩

    2024-05-09 11:48:06       25 阅读
  2. c# Zip压缩压缩

    2024-05-09 11:48:06       31 阅读
  3. Linux-压缩文件命令(gzip、zip、unzip、tar、jar)

    2024-05-09 11:48:06       12 阅读
  4. rust 异步zip压缩

    2024-05-09 11:48:06       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-09 11:48:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-09 11:48:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-09 11:48:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-09 11:48:06       20 阅读

热门阅读

  1. 图搜索算法详解-概述

    2024-05-09 11:48:06       9 阅读
  2. centos常用命令介绍

    2024-05-09 11:48:06       11 阅读
  3. 掌握SQL的时间序列分析利器:LEAD与LAG函数详解

    2024-05-09 11:48:06       11 阅读
  4. 学习R语言第六天

    2024-05-09 11:48:06       10 阅读