原标题为【如何编译zLib 1.2.8(WINAPI / WAPI / STDCALL版本)】来源于【http://www.tannerhelland.com/5076/compile-zlib-winapi-wapi-stdcall/】摘录部分内容如下【自行编译zLib:提取整个zLib文件并导航到t
原标题为【如何编译zLib 1.2.8(WINAPI / WAPI / STDCALL版本)】
源自【http://www.tannerhelland.com/5076/compile-zlib-winapi-wapi-stdcall/】
摘录部分内容如下
【
自己编译zLib:
- 解压整个 zLib 文件并导航到 /contrib/masmx86 文件夹。在文本编辑器中打开“bld_ml32.bat”文件。
- 将“/safeseh”开关添加到该文件中的两行(例如“ml /safeseh /coff /Zi /c /Flmatch686.lst match686.汇编”)。然后保存并退出。
- 导航到 /contrib/vstudio/vc11/ 文件夹。在新安装的 Visual Studio 2012 Express 中打开 zlibvc.sln 文件。
- 在解决方案资源管理器中(默认位于右上角),右键单击“zlibstat”,然后选择底部的“属性”。
- 转到配置属性 -> C/C++->预处理器,并在预处理器定义行中删除“ZLIB_WINAPI;” (不要忘记删除尾部分号)。
- 现在,我们需要修复最近引入的依赖 Win8 功能的问题。在解决方案资源管理器中,导航到 zlibvc -> iowin32.c。双击打开文件。
- 找到“#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)”文本行。将此行更改为“#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY_DESKTOP_APP, WINAPI_PARTITION_APP)”。 (谢谢
到此链接进行此修复。)
- zLib 使用版本号声明,可能会导致构建过程失败。要解决此问题,请返回解决方案资源管理器,然后导航到 zlibvc -> zlibvc.def。双击打开。
- 将“VERSION 1.2.8”行改为“VERSION 1.28”。
- 最后,进入Build ->配置管理器菜单并将活动解决方案配置更改为“发布”。
- 退出该窗口并按 F7(或单击“构建”->“构建解决方案”菜单)。项目应该成功构建。
- 您可以在 /contrib/vstudio/vc11/x86/ZlibDllRelease/ 文件夹中找到新编译的 zlibwapi.dll 文件。
】
严格按照以上步骤可以编译成功,别轻视第9步