zlib
下载:
https://github.com/madler/zlib
编译:
可从此处直接下载:
http://www.winimage.com/zLibDll
解压后,进入到zlib-1.2.11/contrib/masmx86目录,执行bld_ml32.bat。(同理,64位的电脑进入masmx64目录,执行bld_ml64.bat)。这一步运行bld_ml32批处理文件,里面调用ml命令编译inffas32.asm和match686.asm,生成inffas32.obj和match686.obj(生成在本目录下)。这两个文件在zlibvc中用到。
实际已提供了在vc下编译的工程,目录为:zlib-1.2.11\contrib\vstudio.此项目的生成事件中已经执行了bld_ml32.bat
其中的zlibstat是编译为静态库,zlibvc是编译为动态库。
如果报错:
fatal error LNK1281: 无法生成 SAFESEH 映像。
修改配置-连接器-高级-映像具有安全异常处理程序,改成“否(/SAFESEH:NO)”
使用:
使用zlib静态库:zlibstat.lib
包含头文件
属性–C/C++–常规–附加包含目录(添加包含.h文件的目录)
定义宏
属性–C/C++–预处理器–预处理器定义:添加 ZLIB_WINAPI ASMV ASMINF
项目包含.lib文件所在的目录:
属性–链接器–常规–附加库目录
项目包含.lib文件
属性–链接器–输入–附加依赖项(libstat.lib)
项目代码中 #include “zlib.h”
编译生成.exe即可使用。
使用动态库 zlibwapi.lib
包含头文件
属性–C/C++–常规–附加包含目录(添加包含.h的目录)
定义宏
属性–C/C++–预处理器–预处理器定义:添加 ZLIB_WINAPI
项目包含.lib文件所在的目录:
属性–链接器–常规–附加库目录
项目包含.lib文件
属性–链接器–输入–附加依赖项(zlibwapi.lib)
项目代码中 #include “zlib.h”
编译生成.exe文件需要.dll文件支持(动态加载)