打包压缩文件、文件夹是个比较常见的操作,之前在代码中使用的一直是7z.exe,利用命令行进行打包。现在发现了一个更好的选择,可以跟项目有更高的集成度,QuaZip.
QuaZip git: https://github.com/stachenov/quazip.git
直接看这个项目,这个项目是用CMake来组织的,所以直接用CMake将项目转为VS工程,因为依赖的了zlib,所以提前准备好zlib
Zlib :http://www.zlib.net/
zlib没有托管在git上,但是主页直接提供了源码下载,很方便。项目也是用CMake组织,不过不需要动手转VS项目了,因为zlib已经提供了VS项目的支持,直接编译就可以\contrib\vstudio
接着说QuaZip,转为VS之后,先不要编译,需要设置一个预编译参数: Z_PREFIX, 这个参数主要是表明使用不加前缀的zlib函数接口,因为默认提供的zlib接口都是加了z_前缀的,QuaZip中用到的接口都是不加前缀的,设置好之后编译就生成了quazip1-qt5.lib文件,直接引用到项目中就可以使用了。注意项目中用的是静态库版本,所以在使用时需要在工程中加入预定义宏:
QUAZIP_STA