Quazip在Linux下如何编译和使用

1 篇文章 0 订阅

Quazip在Linux中的使用

Quazip是一个用于压缩和解压缩的库,常用于Qt中,通过该库可以较为方便的压缩和解压缩zip等文件.

前言:为什么要使用Quazip

因为Qt库中并没有对压缩文件(zip/rar)高度支持,需要依赖第三方库.


步骤

1.编译

Quazip官网

Quazip的官网下载0.7.3版本的压缩包之后,解压到一个空目录中.
可以看到目录中同时存在.sln .pro以及CMakeList.txt文件,说明分别可以使用VS,Qt以及Cmake来进行编译.
我在Ubuntu20.04环境下使用Qt5.9.1来编译Quazip
选择qmake生成工程,如果中途产生错误,请检查你的Qt库中是否有zlib,如果没有,需要自行编译.
Qt4以上的版本一般会自带zlib库.
在这里插入图片描述

可以看到在同级目录下,产生了一个工程目录,该目录下有一个Makefile文件,可以通过make来进行编译.
在生成的工程的根目录执行make.
如果你的Ubuntu中不存在make,请安装

sudo apt install make

在这里插入图片描述

如果在quazip文件夹下生成了动态库,说明得到了想要的文件.
编译完成后,如果要使用quazip,我的建议是将quazip安装到系统库中,这样子就不需要再指定LD_LIBRARY_PATHINCLUDE_PATH了.
我们回到生成的工程根目录,执行make install.
如果中途没有产生错误的话,会在系统根目录include文件夹和usr/lib中分别添加quazip的头文件和动态库文件.
但是如果你的系统的includelib文件夹并不在根目录中,那么需要手动将其移到对应的include文件夹中,以免产生混乱.
然后就可以在Qt中导入quazip库了.


2.添加到Qt项目中

如果通过make installquazip安装到系统,那么使用起来会非常简单.只需要在你的工程.pro文件中引用库即可.

LIBS += -lquazip

如果不打算将quazip安装到系统,则需要加入库文件所在路径并引用.

LIBS += -L$(你整理的quazip的lib路径) -lquazip

3.在Qt项目中使用

通过上面两个步骤后,已经可以在Qt中使用quazip了.

#include <quazip/JlCompress.h>

这个头文件中包含了一些快速进行解压缩的静态函数

/**
解压单个文件
\param 被压缩的文件的路径
\param 解压缩的单个文件的存放路径
\return 成功返回真,失败返回假
*/
static bool compressFile(QString fileCompressed, QString file);

/**
解压多个文件
\param 被压缩的文件的路径
\param 解压缩的多个文件的存放路径
\return 成功返回真,失败返回假
*/
static bool compressFiles(QString fileCompressed, QStringList files);

/**
解压整个文件夹,不会解压被隐藏的文件,详情请见下一个函数
\param 被压缩的文件的路径
\param 解压缩的文件夹的存放路径
\param 为真时,会在同级目录创建同名的文件夹再解压到文件夹中,为假时,直接解压到同级目录.
\return 成功返回真,失败返回假
*/
static bool compressDir(QString fileCompressed, QString dir = QString(), bool recursive = true);

/*
解压整个文件夹
\param 被压缩的文件的路径
\param 查找要被压缩的在压缩包里的文件的关键字
\param 为真时,会在同级目录创建一个目标文件夹同名的文件夹再解压到文件夹中,为假时,直接解压到同级目录.
\param 可以通过dir参数过滤符合的文件夹,例如QDir::AllDirs|%QDir::NoDotAndDotDot,如果使用QDir::Files,那么也可以匹配文件.
\return 成功返回真,失败返回假
*/
static bool compressDir(QString fileCompressed, QString dir,bool recursive, QDir::Filters filters);

以上是quazip库的快速用法,如果需要解压一些比较复杂的压缩包,比如带有密码的和有隐藏文件的压缩包,就需要自己解压了.

#include <quazip/quazip.h>
#include <quazip/quazipfile.h>

这是两个用quazip库解压复杂压缩文件一般会用到的库.


未完待续
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值