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

相关推荐
2501_944521596 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理6 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1148 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
初阳7858 小时前
【基于Qt5仿音乐播放器(六)】——细节打磨与总结
qt·1024程序员节
程序 代码狂人9 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
meiying883810 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
@大迁世界11 小时前
告别 Go,拥抱 Rust
开发语言·golang·rust
SEO_juper11 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
学逆向的11 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
低调滴开发12 小时前
3 行代码写崩一个函数?切片才是 Rust 字符串处理的正确姿势
开发语言·后端·rust