Qt5.7关于Quazip的编译和使用

最近做项目用到了Quazip文件压缩和解压这块,在源码的编译和使用上遇到了不少的坑,接下来将自己的使用方法分享出来,供大家参考。

使用的Qt的版本是qt-opensource-windows-x86-mingw530-5.7.0

Quazip是基于zlib库的,编译时需要导入zlib的头文件和库文件,有兴趣的同学可以自己去下载zlib源码编译,我这里提供一份已经编译好的方便大家。

Quazip源码下载地址:QuaZIP download | SourceForge.net

zlib资源下载地址:zlib1.2.8库和头文件-C++文档类资源-CSDN下载

没有积分的可以去这个的网址下载:https://url59.ctfile.com/f/15205759-217381519-7edd2f?p=8747 (访问密码: 8747)

编译

将下载好的Quazip文件解压后复制到QTWorkspaces下,用Qt Creator打开quazip.pro。

打开quazip.pro文件,将SUBDIRS=quazip qztest这行代码最后的qztest删除。

打开quazip文件夹下的quazip.pro文件,在win32代码块下添加两行代码,将zlib的头文件和库文件包含进来(具体路径根据实际修改)

INCLUDEPATH += C:/zlib/include
LIBS += -L C:/zlib/lib -lzdll

将项目改为Release模式,执行qmake,然后在构建,至此编译结束。

应用

新建一个文件夹myquazip,此目录下在分别新建lib和include两个文件夹。将quazip工程下的所有头文件复制到include文件夹下。将release目录下生成的libquazip.a和quazip.dll文件复制到lib目录下。

接下来新建一个控制台程序,在项目的.pro文件中添加下面两行代码,导入相关的库文件和头文件(具体路径根据实际修改)

INCLUDEPATH += C:/myquazip/include
LIBS += -LC:/myquazip/lib -lquazip -LC:/zlib -lzlib1

 

在mian文件中添加如下代码,进行压缩测试

#include <QCoreApplication>
#include "JlCompress.h"
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    if(false==JlCompress::compressDir("D:\\test.zip","D:\\test"))
        qDebug()<<"compress failed";
    else
        qDebug()<<"compress successed";
    return a.exec();
}

编译成功,运行后发现控制台下没有输出任何东西,程序也没有报错。之前在这里卡了很久,也没有找到问题的原因。后来研究发现,还需要将quazip.dll文件和zlib1.dll文件复制到程序的debug目录下。

再次运行程序,程序正常运行。

  • 14
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值