windows下编译quazip库压缩文件依赖库zlib。
1,zlib库编译安装
官方网址为zlib Home Site,也可从http://www.winimage.com/zLibDll/index.html下载。
这里下载的是zlib-1.2.13.tar.gz版本。
下载后的文件解压缩,是一个源代码包,需要重新编译才能使用。开发环境用的是VS2015。
进入目录zlib-1.2.13.tar\zlib-1.2.13\contrib\vstudio\vc14
vs2015打开文件zlibvc.sln,编译工程。
根据需要编译debug、release或x64版本的库文件。编译成功后,会生成对应的lib和dll文件,
这里编译的是x64 release版本。
生成的库文件在目录zlib-1.2.13\contrib\vstudio\vc14\x64\ZlibDllRelease下:
拿到库文件zlibwapi.lib和zlibwapi.dll,再从压缩包根目录zlib-1.2.13\下拿到zlib.h、zconf.h、zutil.h三个头文件。
2,编译quazip-1.1库
准备工作:安装好cmake
quazip-1.1中的CMakeLists.txt中有要求使用哪个版本的cmake,安装对应的版本即可。
1).下载quazip代码 quanzip
2).下载完成后,解压后,打开CMakeLists.txt
在该文件的project(QuaZip VERSION 1.1)行下面添加下面行,设置qt环境目录;
set(Qt5_DIR "E:/Qt/Qt5.14.2/5.14.2/msvc2017_64/lib/cmake/Qt5")
3).打开cmd 进入到CMakeLists.txt 同级目录下
执行下面命令:
cmake -S . -B build -D QUAZIP_QT_MAJOR_VERSION=5 -DZLIB_LIBRARY:FILEPATH="F:/tools/libzip/lib/zlibwapi.lib" -DZLIB_INCLUDE_DIR:PATH="F:/tools/libzip/lib/include"
DZLIB_LIBRARY:FILEPATH 是zib库的库环境变量设置;
DZLIB_INCLUDE_DIR:PATH 是zlib库的头文件环境变量设置;
命令执行成功后,生成build目录,在build目录下生成了如下文件:
vs2015打开QuaZip.sln工程。工程打开后添加对zlib库的依赖,通过项目-》属性-》配置属性-》vc++目录中的包含目录和库引用,添加对zlib依赖。
根据zlib库的版本属性决定编译什么版本,这里zlib编译的是x64 release版本,所以QuaZip也编译x64 release版本。
编译成功后,quazip1-qt5.dll文件在build\x64\Release目录下,quazip1-qt5.lib文件在build\quazip\Release目录下。
3,测试实例
包含头文件:
库文件:
-
int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 将程序当前目录压缩,压缩文件为Test.zip JlCompress::compressDir("D:/Test.zip", "./"); // 将Test.zip解压到D:/Test目录下 //JlCompress::extractDir("D:/Test.zip", "D:/Test"); return a.exec(); }
4,编译库过程中遇到的问题
fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“x86”冲突
将项目-》属性-》配置属性-》链接器-》命令行-》其他选项中断额x86内容删除。