7z解压软件感官上好像比360压缩解压还快一点,比如对.ESD这种系统备份大文件。
qt配置文件
INCLUDEPATH += E:/download/bit7z-v4.0.3-msvc2019_x64/bit7z/include
LIBS += E:/download/bit7z-v4.0.3-msvc2019_x64/bit7z/lib/x64/Release/bit7z.lib
#没有这个编译会有问题
LIBS += -loleaut32
测试代码
#include <QCoreApplication>
#include <iostream>
#include <string>
#include <functional>
#include <bit7z/bitarchivereader.hpp>
#include <bit7z/bitpropvariant.hpp>
#include <iostream>
int main(int argc, char *argv[])
{
using namespace bit7z;
bit7z::Bit7zLibrary lib ("E:/download/7z/7z.dll");
bit7z::BitArchiveReader reader(lib, "E:/SGIDATA/OSBAK.ESD", bit7z::BitFormat::Wim);
std::cout << "filesCount = " << reader.filesCount() << std::endl;
std::cout << "size = " << reader.size() << std::endl;
const std::vector<BitArchiveItemInfo> items = reader.items();
std::cout << "items.size() = " << items.size() << std::endl;
for (auto it = items.begin (); it != items.end (); ++it)
{
const BitArchiveItemInfo& item = *it;
std::cout << "item.index () = " << item.index () << std::endl;
std::cout << "item.isDir () = " << item.isDir () << std::endl;
std::cout << "item.name () = " << item.name () << std::endl;
std::cout << "item.extension () = " << item.extension () << std::endl;
std::cout << "item.isEncrypted () = " << item.isEncrypted () << std::endl;
std::cout << "item.path () = " << item.path () << std::endl;
break; // test
}
return EXIT_SUCCESS;
}