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");

相关推荐
编程岁月28 分钟前
java面试-0305-java线程调度方法?sleep()和wait()区别?
java·开发语言·面试
凌晨一点的秃头猪33 分钟前
Python 常见 bug 总结和异常处理
开发语言·python·bug
云知谷1 小时前
【经典书籍】C++ Primer 第19章特殊工具与技术精华讲解
c语言·开发语言·c++·软件工程·团队开发
liu****1 小时前
4.基础开发工具(一)
linux·开发语言·1024程序员节
文火冰糖的硅基工坊1 小时前
[人工智能-大模型-72]:模型层技术 - 模型训练六大步:①数据预处理 - 基本功能与对应的基本组成函数
开发语言·人工智能·python
小龙报1 小时前
《C语言疑难点 --- 字符函数和字符串函数专题(上)》
c语言·开发语言·c++·算法·学习方法·业界资讯·visual studio
凭君语未可1 小时前
深度解析Java的多态特性
java·开发语言
csbysj20202 小时前
DTD 元素:XML 与 SGML 文档结构解析指南
开发语言
傻童:CPU2 小时前
C语言练习题
c语言·开发语言
极地星光2 小时前
协程:实战与系统集成(高级篇)
开发语言