一、7zip下载地址

https://www.7-zip.org/sdk.html

二、nmake编译

下载完后,进入文件夹:

使用VS的命令行工具(nmake)进行编译(命令:nmake /f makefile),在当前目录下生成x86文件夹,里面有本次编译的成果文件:7zra.dll

三、转换示例工程(dsw转vs08)

打开client7z工程,下载下来的是由dsw格式(N年前的格式,真是不懂得与时俱进),将其用vs08打开(vs17版本打开,会转换失败)

四、修改示例代码

打开client7z.cpp,需要修改几处代码:
1、CArchiveExtractCallback 类

2、CArchiveUpdateCallback 类:

3、最后,改为加载刚才编译好的dll名字

#define kDllName "7zra.dll"

4、编译Client7z.sln,得到7zcl.exe,把刚才编译的7zra.dll拷贝到7zcl.exe同目录下

五、通过命令行工具测试

压缩

7zcl a test.7z resource.rc


解压缩

7zcl x test.7z

六,使用bit7z实现解压与进度显示

具体参见文章:https://blog.csdn.net/llmys/article/details/87893606

  • 下载bit7z:https://github.com/rikyoz/bit7z
  • 下载lzma:https://jaist.dl.sourceforge.net/project/sevenzip/LZMA SDK/lzma1805.7z
  • 至于所需要的7z.dll,直接去7z的官网(https://www.7-zip.org/)下载对应版本的dll即可(win32或者x64直接下载类似“7z1900-x64.exe”安装,然后去安装目录下拷贝对应的dll)

C++ 实时显示7z压缩与解压缩的进度相关推荐

  1. HTML实时显示任务状态,如何监视后台任务进度和完成 (HTML)

    如何监视后台任务进度和完成 (HTML) 12/11/2015 本文内容 [ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员.如 ...

  2. 7z压缩 lzma流式压缩、解压缩的实现 C语言

    最近项目中遇到OTA固件升级,压缩由上位机实现,解压缩在boot启动时,读取固件内容后边解压边加载数据的方式启动. 前期预研了三种压缩方案,分别是lz4.zip.7z,代码仓库放在下面,三者各自的原理 ...

  3. 7z 常用压缩与解压缩命令

    本文主要介绍的是使用命令行方式来执行 7z 的 压缩 与 解压缩 所需材料:7z.exe.7z.dll 下载地址:http://www.7-zip.org/ 7z支持格式: 压缩 / 解压缩: 7z, ...

  4. kali linux解压文件.gz,kali linux 压缩文件解压缩命令(包含7z)

    tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压1 ...

  5. 实时的YcoCg-DXT压缩

    实时YCoCg-DXT压缩 JMP van Waveren  id Software,Inc.   NVIDIA公司 2007年9月14日 ©2007,id Software,Inc. 抽象 引入了高 ...

  6. 章节6 文件压缩及解压缩

    6-文件压缩及解压缩 打包和压缩的区别 打包:多个文件变成一个文件--减少文件个数 压缩:缩小一个文件的体积--减少文件体积 打包 打包/解包 pack/unpack 压缩 压缩/解压 compres ...

  7. Linux下文件的压缩与解压缩

    Linux下文件的压缩与解压缩与Windows环境下有较大的区别,在Windows下只需要安装类似Winrar工具就能解压缩大部分文件,而在Linux命令行下每一种文件都有不同的压缩和解压缩方法. 使 ...

  8. Linux常用压缩与解压缩命令

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------- .gz 解压 ...

  9. linux系统打包工具,Linux 压缩、解压缩和打包工具

    前言:你是否曾经因为某个文件占用空间较大,而空间紧缺的U盘无法存放此文件.你是否曾经因为软件里有太多文件而不方便复制和携带.你是否曾因需要备份太过零散而头疼.那么基于"文件压缩和打包&quo ...

最新文章

  1. Hibernate之查询中get()和load()的区别,list()和iterate()的区别
  2. 几款高压、高阻电阻测试
  3. pugixml读取unicode编码的xml文件的做法
  4. html 禁止缩放 ios10,完美解决ios10及以上Safari无法禁止缩放的问题
  5. 硬盘的转速是什么意思,有什么功能?
  6. Linux(CentOS)同步时间
  7. android后台自播放音乐,Android实现后台播放音乐(Service方式)
  8. 系统架构设计师考试4
  9. Teams 的逻辑架构与语音解决方案 - Official Posters Download
  10. c++代码转为go_Go语言学习笔记六--string编码
  11. 【程序设计】流程图的规范和绘制
  12. oracle 的自增需要依靠序列和触发器共同实现
  13. html基本进阶知识【转】
  14. Jarslink Demo Alibaba(教程 源码)
  15. 【Webcam设计】相机底层工作流程,编程模型
  16. 移植oprofile到dm365
  17. Perl中的执行上下文
  18. 【转】【深度学习MobileNet】——深刻解读MobileNet网络结构
  19. 遥感数字图像处理复习(朱文泉)
  20. 基于nodejs,tinypng的压缩图片工具

热门文章

  1. 第一篇文章:网络分析仪Agilent E5061A连接电脑
  2. http常见状态返回码
  3. 使用IIS部署网站步骤
  4. Paper:可解释性之VI/PFI《All Models are Wrong, but Many are Useful: Learning a Variable’s Importance》翻译与解读
  5. Halide学习笔记----Halide tutorial源码阅读5
  6. SQLPLUS 命令
  7. Maven使用与配置
  8. Elasticsearch集成(二)
  9. 代表着团结幸福平安的中国结绳
  10. DBCA创建数据库实例