环境:Qt5.12.1 (MinGW) Win7
文档中涉及的quazip源码、zliby源码、编译后工程以及示例已经上传至
https://download.csdn.net/download/jiangxiaoyu20/12003536
准备工作
1、下载Zlib http://www.zlib.net/
2、下载quazip https://sourceforge.net/projects/quazip/
编译Zlib:
VS命令工具进入bld_ml32.bat所在文件夹编译bld_ml32.bat
使用VS打开工程zlib-1.2.11\contrib\vstudio\vc14\zlibvc.sln
我用VS2017编译VC14也没问题,其他版本自由选择进入VC不同文件夹,编译得到
搜索找到的其他编译方法
(1)在开始目录中打开VS本机工具命令提示(或在此路径下寻找:C:\Program Files (x86)\Microsoft Visual Studio12.0\Common7\Tools\Shortcuts)。
(2)切换到D:\tools\zlib-1.2.11\contrib\masmx64目录下(不会切换的请自行百度)。
(3)执行bld_ml64.bat文件,将生成的gvmat64.obj和inffasx64.obj文件拷贝到D:\tools\zlib-1.2.11目录下。
(4)将命令提示符切换到D:\tools\zlib-1.2.11目录下,执行NMAKE命令如下:
nmake -f win32/Makefile.msc AS=ml64LOC="-DASMV -DASMINF -I." OBJA="inffasx64.obj gvmat64.objinffas8664.obj"
(5)D:\tools\zlib-1.2.11目录下会生成一系列文件,其中zconf.h、zlib.h、zdll.lib、zlib.lib和zlib1.dll就是我们需要的文件。
编译quazip
在quazip-master\quazip路劲下新建lib、include文件夹
include文件夹放入头文件
lib放入库文件
屏蔽掉quazip.pro中test
在quazip文件下的quazip.pro中导入路径及库,位置可以自己选择
编译生成quazip.dll以及libquazip.a
测试工程:
同样将头文件和库加入include以及lib文件夹,我这里库编译了32位和64位的
include中包含quazip工程中所有头文件
lib问价夹中包含库文件
ok了,下面修改Pro文件
INCLUDEPATH += $$PWD/include
LIBS += -L$$PWD/lib64 -lquazip -L$$PWD/lib64 -lzlibwapi
使用看效果
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
if(false==JlCompress::compressDir("D:/ReadMe.zip","D:/test"))
qDebug()<<"compress failed";
else
qDebug()<<"compress successed";
JlCompress::extractDir("D:/ReadMe.zip", "D:/test2");
return a.exec();
}
效果