zlib库VS2017编译步骤
[点击这里下载zlib1.2.11源码](http://zlib.net/zlib1211.zip)
#下载源码库#
从上面给出的源码路径下载zlib源码库,如果不想自己编译,可以使用上面给出的二进制包直接使用,无视本文。
#编译步骤#
##编译方法一##
- 解压源码文件到指定目录,例如 x:\zlib
- 打开VS2017的Developer Command Prompt for VS2017工具
- 切换到x:\zlib\contrib\masmx86目录,如果想编译x64的,可以进入masmx64目录,我这里只使用32位
- 执行bld_ml32.bat文件,静待片刻会在文件目录中产生4个文件

- 将生成文件中的inffas32.obj和match686.obj文件复制到根目录 x:\zlib下
- 将Developer Command Prompt for VS2017工具目录切换到根目录 x:\zlib
- 执行nmake命令
```
nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj"
```
- 编译成功以后,就会在根目录产生一系列文件,其中zdll.lib和zlib1.dll就是我们需要的文件
##编译方法二##
- 解压源码文件到指定目录,例如 x:\zlib
- 打开VS2017的Developer Command Prompt for VS2017工具
- 切换到x:\zlib\contrib\masmx86目录,如果想编译x64的,可以进入masmx64目录,我这里只使用32位
- 执行bld_ml32.bat文件,静待片刻会在文件目录中产生4个文件

- 将生成文件中的inffas32.obj和match686.obj文件复制到根目录 x:\zlib下
- 切换到x:\zlib\contrib\vstudio\v14
- 用Visual Studio 2017 IDE打开x:\zlib\contrib\vstudio\v14\zlibvc.sln并编译
编译过程中可能会出现以下几个问题
1.error LNK2026: module unsafe for SAFESEH image
修改属性/linker/Advenced/Image has safe Exception Handles 为No
2.fatal error LNK1118: syntax error in ‘VERSION’ statement
打开zlibvc.def文件VERSION 修改为1.28即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?