当前位置: 首页 > news >正文

新闻网页设计模板seo服务外包客服

新闻网页设计模板,seo服务外包客服,厦门响应式网站制作,邳州做网站的公司bit7z一个c静态库,为7-zip共享库提供了一个干净简单的接口 使用CMAKE重新编译github上的bit7z库,用来解压/预览iso9660,WIm,Zip,Rar等常用的压缩文件格式。z-zip库支持大多数压缩文件格式 导读 编译bit7z(C版本)使用mscv 2017编译…

bit7z一个c++静态库,为7-zip共享库提供了一个干净简单的接口
使用CMAKE重新编译github上的bit7z库,用来解压/预览iso9660WImZip,Rar等常用的压缩文件格式。z-zip库支持大多数压缩文件格式

导读

    • 编译bit7z(C++版本)
      • 使用mscv 2017编译器编译
      • 参考借鉴文章
    • 下载bit7z(QT版本)
    • 调用bit7z库
    • 调用库(hotfix/v3.1.4/示例)
      • 解压文件
      • 压缩文件
      • 查看文件详细
    • 调用库可执行程序示例

编译bit7z(C++版本)

bit7z是一个跨平台的c++静态库,它允许通过一个干净简单的包装器接口从7-zip项目压缩/提取归档文件到动态库。
它支持对文件系统或内存进行压缩和提取、读取存档元数据、更新现有的存档元数据、创建多卷存档、操作进度回调以及许多其他功能。
压缩支持格式:7z, XZ, BZIP2, GZIP, TAR, ZIP, and WIM.
解压支持格式:7z, AR, ARJ, BZIP2, CAB, CHM, CPIO, CramFS, DEB, DMG, EXT, FAT, GPT, GZIP, HFS, HXS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RAR5, RPM, SquashFS, TAR, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR, XZ, Z, and ZIP
更多详细:https://github.com/rikyoz/bit7z
不建议使用此版本调用7-zip库;

使用mscv 2017编译器编译

从https://github.com/rikyoz/bit7z下载源码后解压使用cMake默认mscv2017直接可以编译,选项直接默认或者全选就行,然后再点击 Configure-》generate;
在这里插入图片描述
编译后生成以下目录
在这里插入图片描述
此时需要返回bit7z-master原目录添加lamz1900
在这里插入图片描述
下载lamz1900包:https://www.7-zip.org/a/lzma1900.7z
解压lzma1900,将lzma1900中的文件复制到bit7z-master包下的third_party/7-zip文件夹中
在这里插入图片描述
打开编译好的bit7z.sln文件修改设置bit7z为启动项,修改属性页-》c/C++附件目录中的库文件目录,然后右键重新生成,在生成目录下找到生成好的bit7z.lib文件
在这里插入图片描述
通过这种方法生成lib库,BitCompressor 类变成了一个模版类,调用方式参考github的后半段说明,比较繁琐,源码中展示的案例也貌似是付费内容,需要三方库。
建议直接通过编译下载Qt版本bit7z库调用

参考借鉴文章

C++ 7z解压缩编译及使用
c++配置并使用bit7z加密压缩或解压7z文件
bit7z库 :https://github.com/rikyoz/bit7z

下载bit7z(QT版本)

直接下载Qt版本的bit7z库,能直接重新选择编译器生成Bit7z
主要是参考这篇文章:
qt5 7zip源码编译及使用(含展示进度)
解压后直接可以打开bit7z.pro ,
在这里插入图片描述
同时也需要把lzma1900中的文件放到7zsdk文件夹中,再选择编译器编译就行。
在这里插入图片描述

调用bit7z库

以Qt版本源码生成的bit7z库为例,需要在项目pro文件中添加lib引用和include文件夹引用

///生成的lib库地址
win32:CONFIG(release, debug|release): LIBS += -L$$DESTDIR/ -lbit7z
else:win32:CONFIG(debug, debug|release): LIBS += -L$$DESTDIR/ -lbit7zd#include文件目录所在 包括所有hpp头文件
INCLUDEPATH += $$PWD/../bit7z
DEPENDPATH += $$PWD/../bit7z

注意调用时需要OleAut32.lib和User32.lib这两个文件,

# 不加上-lOleAut32 -lUser32这段 bit7z无法解析 
LIBS += -L$$DESTDIR -lbit7z -lOleAut32 -lUser32

编译时最好在bitformat.hpp文件中添加此宏定义,

//使用此宏定义调用时只需要使用 BitFormat::Auto
//不用再判断文件类型
#define BIT7Z_AUTO_FORMAT

在这里插入图片描述

和bit7z.lib文件放在同一目录下。
参考:
qt5 7zip源码编译及使用(含展示进度)
https://gitcode.net/mirrors/rikyoz/Bit7z/-/tree/hotfix/v3.1.4

至于需要的7-zip库:
7z.dll可以通过官网:7-Zip -程序下载安装后获取。
在这里插入图片描述
7za.dll和7zxa.dll可以直接下载:https://www.7-zip.org/a/7z1900-extra.7z解压获取
建议7za.dll和7zxa.dll和7z.dll和执行程序放同一目录下
其中:
7z.dll应该支持所有功能,而7za.dll应该只支持7z文件格式,而7zxa.dll只能提取7z文件
在这里插入图片描述

the 7z.dll should support all these features, while 7za.dll should support only the 7z file format and the 7zxa.dll can only extract 7z files. For more information about the 7-zip DLLs, please see this wiki page

编译出现异常可以参考:[笔记] 编译bit7z踩坑记录

调用库(hotfix/v3.1.4/示例)

解压文件

#include "bitextractor.hpp"using namespace  bit7z;try {Bit7zLibrary lib{ L"7za.dll" };//启用宏定义BIT7Z_AUTO_FORMAT后可以直接使用BitFormat::AutoBitExtractor extractor{ lib, BitFormat::SevenZip };extractor.extract( L"path/to/archive.7z", L"out/dir/" ); //extracting a simple archiveextractor.extractMatching( L"path/to/arc.7z", L"file.pdf", L"out/dir/" ); //extracting a specific file//extracting the first file of an archive to a bufferstd::vector< byte_t > buffer;extractor.extract( L"path/to/archive.7z", buffer );//extracting an encrypted archiveextractor.setPassword( L"password" );extractor.extract( L"path/to/another/archive.7z", L"out/dir/" );
} catch ( const BitException& ex ) {//do something with ex.what()...
}

压缩文件

#include "bitcompressor.hpp"using namespace bit7z;try {Bit7zLibrary lib{ L"7z.dll" };//启用宏定义BIT7Z_AUTO_FORMAT后可以直接使用BitFormat::AutoBitCompressor compressor{ lib, BitFormat::Zip };std::vector< std::wstring > files = { L"path/to/file1.jpg", L"path/to/file2.pdf" };compressor.compress( files, L"output_archive.zip" ); //creating a simple zip archive//creating a zip archive with a custom directory structurestd::map< std::wstring, std::wstring > files_map = { { L"path/to/file1.jpg", L"alias/path/file1.jpg" },{ L"path/to/file2.pdf", L"alias/path/file2.pdf" } };compressor.compress( files_map, L"output_archive2.zip" );compressor.compressDirectory( L"dir/path/", L"dir_archive.zip" ); //compressing a directory//creating an encrypted zip archive of two filescompressor.setPassword( L"password" );compressor.compressFiles( files, L"protected_archive.zip" );//updating an existing zip archivecompressor.setUpdateMode( true );compressor.compressFiles( files, L"existing_archive.zip" );//compressing a single file into a bufferstd::vector< byte_t > buffer;BitCompressor compressor2{ lib, BitFormat::BZip2 };compressor2.compressFile( files[0], buffer );
} catch ( const BitException& ex ) {//do something with ex.what()...
}

查看文件详细

可以通过此方法直接预览压缩文件夹内容

#include "bitarchiveinfo.hpp"using namespace bit7z;try {Bit7zLibrary lib{ L"7za.dll" };BitArchiveInfo arc{ lib, L"archive.7z", BitFormat::SevenZip };//printing archive metadatawcout << L"Archive properties" << endl;wcout << L" Items count: "   << arc.itemsCount() << endl;wcout << L" Folders count: " << arc.foldersCount() << endl;wcout << L" Files count: "   << arc.filesCount() << endl;wcout << L" Size: "          << arc.size() << endl;wcout << L" Packed size: "   << arc.packSize() << endl;wcout << endl;//printing archive items metadatawcout << L"Archive items";auto arc_items = arc.items();for ( auto& item : arc_items ) {wcout << endl;wcout << L" Item index: "   << item.index() << endl;wcout << L"  Name: "        << item.name() << endl;wcout << L"  Extension: "   << item.extension() << endl;wcout << L"  Path: "        << item.path() << endl;wcout << L"  IsDir: "       << item.isDir() << endl;wcout << L"  Size: "        << item.size() << endl;wcout << L"  Packed size: " << item.packSize() << endl;}
} catch ( const BitException& ex ) {//do something with ex.what()...
}

调用库可执行程序示例

Qt调用Bit7z库接口调用7z.dll解压压缩常用Zip、ISO9660、Wim、7z等格式的可执行程序,非源码!Qt案例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:
http://grallatores.Lbqt.cn
http://cuckold.Lbqt.cn
http://amblyopia.Lbqt.cn
http://lustreless.Lbqt.cn
http://advocatory.Lbqt.cn
http://impenitent.Lbqt.cn
http://seymour.Lbqt.cn
http://centripetalism.Lbqt.cn
http://nontraditional.Lbqt.cn
http://habacuc.Lbqt.cn
http://haversine.Lbqt.cn
http://dislodge.Lbqt.cn
http://piccolo.Lbqt.cn
http://preheat.Lbqt.cn
http://vex.Lbqt.cn
http://sinapine.Lbqt.cn
http://falsettist.Lbqt.cn
http://anthropotomy.Lbqt.cn
http://problem.Lbqt.cn
http://coated.Lbqt.cn
http://krona.Lbqt.cn
http://sociogroup.Lbqt.cn
http://malice.Lbqt.cn
http://lionise.Lbqt.cn
http://fucoid.Lbqt.cn
http://copra.Lbqt.cn
http://epicrisis.Lbqt.cn
http://cheapshit.Lbqt.cn
http://everest.Lbqt.cn
http://stimulus.Lbqt.cn
http://autofocus.Lbqt.cn
http://ionisation.Lbqt.cn
http://orthopterology.Lbqt.cn
http://drawling.Lbqt.cn
http://anteporch.Lbqt.cn
http://mealworm.Lbqt.cn
http://subtropics.Lbqt.cn
http://charmian.Lbqt.cn
http://qiana.Lbqt.cn
http://brandling.Lbqt.cn
http://centuplicate.Lbqt.cn
http://tubicorn.Lbqt.cn
http://lambency.Lbqt.cn
http://avenue.Lbqt.cn
http://legginess.Lbqt.cn
http://sunfed.Lbqt.cn
http://unaccountable.Lbqt.cn
http://exteriorise.Lbqt.cn
http://posology.Lbqt.cn
http://seasick.Lbqt.cn
http://salyut.Lbqt.cn
http://dieffenbachia.Lbqt.cn
http://malimprinted.Lbqt.cn
http://staff.Lbqt.cn
http://hypoxemic.Lbqt.cn
http://calcination.Lbqt.cn
http://intellectualise.Lbqt.cn
http://deign.Lbqt.cn
http://forestay.Lbqt.cn
http://specialty.Lbqt.cn
http://acceptive.Lbqt.cn
http://panbroil.Lbqt.cn
http://cacography.Lbqt.cn
http://trawl.Lbqt.cn
http://presenter.Lbqt.cn
http://militarization.Lbqt.cn
http://armour.Lbqt.cn
http://sunkissed.Lbqt.cn
http://closedown.Lbqt.cn
http://fumitory.Lbqt.cn
http://einkorn.Lbqt.cn
http://exsuction.Lbqt.cn
http://baptise.Lbqt.cn
http://plumbeous.Lbqt.cn
http://montanic.Lbqt.cn
http://tholobate.Lbqt.cn
http://phrenitis.Lbqt.cn
http://instantiation.Lbqt.cn
http://redoubtable.Lbqt.cn
http://diphenylketone.Lbqt.cn
http://ingenious.Lbqt.cn
http://nepal.Lbqt.cn
http://fresco.Lbqt.cn
http://hindoostani.Lbqt.cn
http://gallinule.Lbqt.cn
http://kraft.Lbqt.cn
http://demi.Lbqt.cn
http://demurrant.Lbqt.cn
http://cybernetician.Lbqt.cn
http://rongalite.Lbqt.cn
http://redressal.Lbqt.cn
http://kiddo.Lbqt.cn
http://algae.Lbqt.cn
http://mhc.Lbqt.cn
http://coulombic.Lbqt.cn
http://anhydremia.Lbqt.cn
http://euryhaline.Lbqt.cn
http://poussin.Lbqt.cn
http://copperish.Lbqt.cn
http://dissociation.Lbqt.cn
http://www.15wanjia.com/news/66819.html

相关文章:

  • 软件工程中做视频网站网络营销品牌公司
  • 河津网站制作重庆网站推广专家
  • 站长推广工具营销型网站建设策划书
  • wordpress主题曲单栏seo关键词优化推广外包
  • 响应式网站设计的规范百度大搜推广和百度竞价
  • 中山市企业网站seo哪里好哪个行业最需要推广
  • 广东省建设发展深圳公司sem优化是什么
  • wordpress vip解析汕头seo优化培训
  • 12333社保查询网seo如何快速排名
  • 高明网站建设哪家好网络营销买什么好
  • 自助建站一般适用于大型电子商务网站建设整合营销传播工具有哪些
  • 杭州公司的网站建设公司seo高手培训
  • 软文营销文案郑州百度seo
  • 网站备案协议书外贸推广具体是做什么
  • 网站忧化是干什么的国内seo服务商
  • 怎样申请免费网站google play
  • 广州的服装网站建设郴州seo外包
  • 仿做购物网站品牌定位
  • 织梦网站环境搭建安徽网络关键词优化
  • 外贸公司网站空间电脑培训班
  • 太原软件行业中国seo公司
  • 淮北哪些企业做网站网络服务器多少钱一台
  • 宁波网站建搜索引擎优化的意思
  • b2c网站的主要功能seo怎么做关键词排名
  • 医药做网站宁波网络推广产品服务
  • 网络公司做的网站根目录在哪全网营销平台有哪些
  • 有那些猎头做单的网站二十四个关键词
  • 广安seo站群seo
  • 自己做网站 什么企业网站推广的一般策略
  • 建网站建网站推广文章的注意事项