如何在 Visual Studio 2017 上将 zlib 编译成 DLL?

How to compile zlib into a DLL on Visual Studio 2017?

我很难尝试做一些我认为非常简单的事情(我一定不是第一个想这样做的人)。我在 Windows 7 上使用 Visual Studio 2017 来做一些 C 代码,我需要 inflate/deflate 来压缩。

我搜索了一下,找到了 zlib。它似乎正是我搜索的内容:免费,酷版权,无专利,并在其他项目中广泛使用和测试。

所以,我开始下载最新版本 (zip of 1.2.11),然后开始尝试 "simply" 获取 DLL。

但是,文档说明为了编译 "zlib1.dll",我必须使用“./contrib/vstudio/vc..”,而“..”则为 Visual Studio。但是我有 Visual Studio 2017,只有 "vc9" 到 "vc14","vc14" 是 Visual Studio 2015.

文档说我必须使用 Microsoft Visual C++ 2015,确实,当我用 vs2017 强制打开时,出现完整性错误。

所以我尝试安装 MVC++ 2015,但它说我无法安装它,因为我已经安装了一些东西 (VS2017)。

这么基础的东西是真的没有办法实现,还是有什么知识不懂?

构建开源项目可能是一个挑战,因为它们的支持往往远远落后于 Visual Studio 的最新版本。这就是 Visual Studio 现在直接支持 cmake 的原因之一。

也就是说,为 Windows 构建 zlib 的最简单方法是将 NuGet package. I personally use zlib-msvc14-x86 or zlib-msvc14-x64 which are binary compatible 与 VS 2015 Update 3、VS 2017 和 VS 2019 一起使用。它们还提供静态库而不是一个动态链接库。