QT压缩解压文件

文章目录


前言

Qt工程中需要用到zip压缩解压功能,网上搜索了下,一般有以下三种使用:

  • Qt自带的zipWriter与zipReader
  • zlib
  • Quazip

对于第一种,使用Qt自带的zipWriter与zipReader,需要在工程文件添加gui-private模块,然而在安装Qt时如果未勾选Source安装的话,是没有这个模块的,而且此模块为某几个版本的私有模块,可能升级Qt之后就没有此模块了,Qt官方也不推荐使用;

对于第二种zlib,一般需要进一步封装使用,此处不做说明;

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

使用VS2019+Qt5.15.2编译Quazip


一、下载Quazip

前往Quazip下载地址下载0.7.3版本源码.解压之后如下所示:

二、编译Quazip

1.使用vs2019打开quazip.sln

出现以下错误,莫方,点击确定。

2.使用Qt VS Tools打开外层的.pro工程




一直确定就可以成功加载了

3.编译

查看msvc版本及路径

打开msvc2019_64\include\QtZlib目录,将两个头文件拷贝到工程目录下

重新生成,编译通过!

再切换到release模式下编译,最终需要的文件有:

debug下的lib和dll库

release下的lib和dll库

quazip工程目录下的所有.h文件和.cpp文件


三、工程使用

将debug/release动静态库和include文件拷贝到zip文件夹下,将zip文件夹拷贝到工程目录下

1.配置头文件路径

2.配置静态库lib目录

3.添加库

release模式配置相同

4.动态库dll放到.exe同级目录下

5.使用

cpp 复制代码
#include "JlCompress.h"

// 解压文件
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");

相关推荐
一方热衷.1 小时前
YOLO26-Seg ONNXruntime C++/python推理
开发语言·c++·python
靓仔建3 小时前
Vue3导入组件出错does not provide an export named ‘user_setting‘ (at index.vue:180:10)
开发语言·前端·typescript
赶路人儿4 小时前
UTC时间和时间戳介绍
java·开发语言
6+h4 小时前
【java】基本数据类型与包装类:拆箱装箱机制
java·开发语言·python
未来之窗软件服务5 小时前
幽冥大陆(一百12)js打造json硬件管道——东方仙盟筑基期
开发语言·javascript·算法·json·仙盟创梦ide·东方仙盟·东方仙盟算法
人道领域5 小时前
苍穹外卖:菜品分页查询与删除功能(保姆级详解)
java·开发语言·数据库·后端·spring
EverestVIP6 小时前
c++前置声明的方式与说明
开发语言·c++
天远云服6 小时前
天远企业司法认证API对接实战:PHP构建B2B供应链合规防火墙
大数据·开发语言·后端·node.js·php
空空kkk7 小时前
Java基础——代理
java·开发语言
赵谨言7 小时前
基于YOLOv5的植物目标检测研究
大数据·开发语言·经验分享·python