bit7z-master 下载编译
1、https://github.com/rikyoz/bit7z 下载bit7z-master,如下图
2、迅雷下载:https://www.7-zip.org/a/lzma1900.7z,下载lamz1900包
3、解压bit7z-master和lzma1900,将lzma1900中的文件复制到bit7z-master包下的7zSDK文件夹中,如下图
4、选择bit7z-master文件夹下的bit7z.vcxproj,用vs2019打开,项目升级的话,确认升级就行。
5、编译,根据自己需要编译对于的版本的lib库,我这边项目需要debug版本64位的库
6、点击bit7z项目右键属性,配置属性-常规-目标文件名称,改为:bit7z64,注意编译版本,如下图
7、编译,将编译生成的lib库复制到个人本地工程,编译结果如下
8、在个人项目目录下新建lib文件夹,将编译成功后的bit7z64.lib放入,将bit7z-master下的include文件夹也复制到个人项目目录下
9,迅雷下载7z1900-extra,链接:https://www.7-zip.org/a/7z1900-extra.7z,解压后复制7za.dll,7zxa.dll到个人项目下
10,配置项目include,lib,特别需要注意配置的版本。
11,添加压缩,解压相关代码,https://github.com/rikyoz/bit7z,有相关demo,下面附上解压部分代码
try {
Bit7zLibrary lib{ L"7za.dll" };
BitExtractor extractor{ lib, BitFormat::SevenZip };
//extracting an encrypted archive
//extractor.setPassword(L"password");
extractor.extract(L"xxx.zip", L"C:\\Users\\Output"); //extracting a simple archive }
}
catch (const BitException& ex) {
//do something with ex.what()...
cout << ex.what() << endl;
}
12,详细见博客:https://blog.csdn.net/qq_44623607/article/details/117752945?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.control&spm=1001.2101.3001.4242