C++ 7z解压缩编译及使用

bit7z-master 下载编译

1、https://github.com/rikyoz/bit7z 下载bit7z-master,如下图
C++ 7z解压缩编译及使用_第1张图片
2、迅雷下载:https://www.7-zip.org/a/lzma1900.7z,下载lamz1900包
3、解压bit7z-master和lzma1900,将lzma1900中的文件复制到bit7z-master包下的7zSDK文件夹中,如下图
C++ 7z解压缩编译及使用_第2张图片
4、选择bit7z-master文件夹下的bit7z.vcxproj,用vs2019打开,项目升级的话,确认升级就行。
5、编译,根据自己需要编译对于的版本的lib库,我这边项目需要debug版本64位的库在这里插入图片描述
6、点击bit7z项目右键属性,配置属性-常规-目标文件名称,改为:bit7z64,注意编译版本,如下图
C++ 7z解压缩编译及使用_第3张图片
7、编译,将编译生成的lib库复制到个人本地工程,编译结果如下
C++ 7z解压缩编译及使用_第4张图片
8、在个人项目目录下新建lib文件夹,将编译成功后的bit7z64.lib放入,将bit7z-master下的include文件夹也复制到个人项目目录下
C++ 7z解压缩编译及使用_第5张图片
9,迅雷下载7z1900-extra,链接:https://www.7-zip.org/a/7z1900-extra.7z,解压后复制7za.dll,7zxa.dll到个人项目下
C++ 7z解压缩编译及使用_第6张图片
10,配置项目include,lib,特别需要注意配置的版本。
C++ 7z解压缩编译及使用_第7张图片
C++ 7z解压缩编译及使用_第8张图片
C++ 7z解压缩编译及使用_第9张图片
C++ 7z解压缩编译及使用_第10张图片
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

你可能感兴趣的:(C++,c++,7zip)