QT学习_QT压缩文件ZIP编译
QT压缩文件ZIP编译
环境准备
系统变量里加入:
C:\Windows\System32 D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
准备工具
- zlib 源码下载:http://www.zlib.net/
- quazip 源码下载:https://sourceforge.net/projects/quazip/
- quazip编译博客链接: QT使用quazip解压zip压缩文件
- zlib编译博客链接:win10下Visual Studio 2015,C++ x64编译zlib
编译zlib
-
打开VS2015 x64本地命令行工具(在开始栏VS2015文件夹中)
-
cd 到解压的zlib文件目录
-
输入
nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" -
若出错,则试着将VC\bin\amd64\ml64.exe文件拷贝到zlib文件目录下再进行编译
-
编译后生成文件 zdll.lib,zlib1.dll等等
编译quaZip
- 在quazip文件建立include和lib两个文件夹
- 在include文件夹放入zlib1211/contrib/minizip
里的所有.h文件以及zlib目录的zconf.h和zlib.h文件,lib文件里放入zlib编译生成的zdll.lib文件。 - 用QT打开quazip.pro,进入,点击quazip.pro,去掉quaziptest相关
- 在内部quazip项目中添加依赖的zlib库,项目右击,选择添加库,添加外部库,点击下一步。选择lib文件夹下的zlib.dll文件,点击下一步,完成即可,在quazip.pro下会自动添加代码。
- 对项目右键先执行qmake,再进行构建,构建完成,就可以在Debug\release模式下生成我们需要的dll和lib文件,分别在对应debug/release文件夹中
- 编译完成
测试
-
新建QT项目,在项目文件下,新建include文件夹和lib文件夹,将quazip下的quazip文件里的所有.h文件以及zconf.h和zlib.h文件复制到include文件中。
-
将quazip编译生成的两个版本的 lib和dll 以及 zlib编译生成的zdll.lib复制到lib文件夹下
-
按上面方法添加这两个lib依赖库
win32: LIBS += -L$$PWD/quazipPack/lib/ -lzdll win32:CONFIG(release, debug|release): LIBS += -L$$PWD/quazipPack/lib/ -lquazip else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/quazipPack/lib/ -lquazipd INCLUDEPATH += $$PWD/quazipPack/include DEPENDPATH += $$PWD/quazipPack/include -
在项目的头文件加入:#include <JlCompress.h> 进行验证,运行成功,则可以进行文件的压缩和解压。
库使用方法
QuaZIP类描述:
主要用QuaZip中的JlCompress类来压缩和解压缩文件
静态方法压缩文件
static bool compressDir(QString fileCompressed, QString dir=QString(), bool recursive = true)
参数:
第一个参数fileCompressed表示压缩后的文件
第二个参数dir表示待压缩的目录
第三个参数recursive表示是否递归
解压缩用静态方法:extractDir
static QStringList extractDir(QString fileCompressed, QString dir=QString())
参数:
第一个参数fileCompressed表示待解压缩的文件
第二个参数表示解压缩存放的目录
例子
if(false == JlCompress::compressDir("D:\\lesliex\\QTpro\\QuaZIP_Learn\\quazipTest\\1.zip", "D:\\lesliex\\QTpro\\QuaZIP_Learn\\quazipTest\\1")) { qDebug("false"); } else{ qDebug("yes"); }
原文:https://blog.csdn.net/weixin_44342705/article/details/119786175
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了