7z源码编译

傻瓜教程——7z源码编译

7z源码下载

源码下载地址:https://www.7-zip.org/download.html
图1. 7z源码下载网页截图
如上图所示,选择红色标记的Download,进行下载。

VS工程生成

7z源码解压后截图
将压缩包解压后,出现如上图所示4个文件夹,本贴主要说明其中的两个内容:7z命令行工具7za.exe7z.dll的编译。

7za.exe

7za.exe为7z的命令行工具,它支持命令行传参,进行相关压缩和解压工作,它能够使用7z工具的全部功能。

  1. 进入目录:\CPP\7zip\Bundles\Alone
    7za.exe的VS项目文件目录
  2. 双击如上图所示的VS工程文件,用VS打开该项目,以VS2019为例,双击后,会提示项目升级
    7za.exe项目升级截图
  3. 直接点击确定,即可自行升级项目文件,进入VS
    项目更改为64位
  4. 通常情况下会编译64位的项目,因此这里可以将工程改为64位
  5. 修改项目属性,将输出exe的名称改为7zad,并复制其上的输出目录 ( S o l u t i o n D i r ) (SolutionDir) (SolutionDir)(Platform)$(Configuration)
    在这里插入图片描述
  6. 修改项目属性,将输出文件修改为 ( S o l u t i o n D i r ) (SolutionDir) (SolutionDir)(Platform)$(Configuration)\7zad.exe在这里插入图片描述
  7. 如果此时直接编译,会有错误:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    在这里插入图片描述
  8. 按如上图所示,将嵌入清单 ,改为 ,再次编译,即可编译成功。

7z.dll

  1. 进入目录 \CPP\7zip\Bundles\Format7zF
  2. 进行如上7za.exe的方式,更新并打开VS项目,并修改x86为x64
  3. 修改目录中的Asm-7zCrcOpt.asm的属性
    在这里插入图片描述
    命令行改为:ml64.exe -Dx64 -WX -c -Fo ( O u t D i r ) 输 出 改 为 : (OutDir)%(Filename).obj %(FullPath) 输出改为: (OutDir)(OutDir)%(Filename).obj;%(Outputs)
    注意!建议复制上述修改结果,自行修改请确认为丢失或多出字符,比如:少%或多\什么的。
  4. 同样,修改Asm-AesOpt.asm的属性。改为如下图所示。
    在这里插入图片描述
  5. 修改工程属性,目标文件名后加d,并复制输出目录
    在这里插入图片描述
  6. 修改工程属性,将输出文件修改为如图所示。
    在这里插入图片描述
    如果你不知道工程属性页面如何打开,那我告诉你,右键解决方案下,7z,下拉列表中选则属性。
  7. 至此,修改完毕,点击生成解决方案,编译成功。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值