最近有个项目需要比较优秀的压缩比率。7zip比较合适。
在windows系统下,编译7zip,教程不多。这里总结下:
安装Visual Studio 2017 社区版
下载页面:点此
启动编译环境
32位编译环境
1C:\Windows\system32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
64位编译环境
1C:\Windows\system32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
下载7zip源码包
下载页面:点此
ps:本次选定的是稳定版
16.04
解压在
D:\7z1604-src
中打个小补丁
需要去除一个编译选项:
打开:
D:\7z1604-src\CPP\build.mak
将:
1LFLAGS = $(LFLAGS) -OPT:NOWIN98改为:
1LFLAGS = $(LFLAGS)PS:一些wiki如此推荐,我没改貌似也可编译通过
编译
编译目录是:
D:\7z1604-src\CPP
32位环境中,输入:
1nmake NEW_COMPILER=1 MY_STATIC_LINK=1
64位环境中,输入:
1nmake NEW_COMPILER=1 MY_STATIC_LINK=1 CPU=AMD64
文件描述
(路径中的%bit%根据32位和64位自行替换。32:O;64:AMD64)
File | Description |
---|---|
7zFM.exe | 7zip文件管理器 |
7za.exe | 命令行工具(似乎和7z.exe相同) |
7zr.exe | 命令行工具(似乎和7z.exe相同) |
7zG.exe | 命令行工具,但不显示console窗体 |
7z.exe | 命令行工具 |
lzma.exe | lzma的编码工具,和gzip挺像的 |
7zcl.exe | 7zip的client工具,可以理解为使用7zip dll做二次开发的demo |
7z.sfx | 自解压头,显示GUI |
7zCon.sfx | 自解压头,显示console |
7zS.sfx | 自安装头 |