#Windows库编译# zlib

        首先要下载这个库,这个谷歌和百度也都可以找得到的。

        官方网址:http://www.zlib.net/

        载完解压出来即可。开始编译。(包括动态库和静态库两种)

 

1. 首先开启VS2017的Command Prompt (32bit),也就是命令提示窗口。

2. 进入到\zlib\contrib\masmx86目录,执行bld_ml32.bat。(同理,64位的电脑进入masmx64目录,执行bld_ml64.bat)。这一步运行bld_ml32批处理文件,里面调用ml命令编译inffas32.asm和match686.asm,生成inffas32.obj和match686.obj(生成在本目录下)。这两个文件在zlibvc中用到。

3. zlib的vs sln解决方案文件可以在如下路径中找到:\zlib\contrib\vstudio\vc14/zlibvc.sln,打开

   这个解决方案中包含6个工程。其中:

   (1). zlibvc生成动态链接库zlibwapi.dll和对应的导入库zlibwapi.lib

   (2). zlibstat生成静态链接库zlibstat.lib

   (3). testzlibdll测试生成的动态链接库zlibwapi.dll

   (4). testzlib测试生成的静态链接库zlibstat.lib        

 

编译过程中可能会遇见错误:error LNK2026: module unsafe for SAFESEH image

可参考:https://blog.csdn.net/xiaoting451292510/article/details/89385195

 

最后我们在debug/release模式下编译整个解决方案。生成的dll和lib文件可在相应的文件夹中找到。

 


具体选择运行库时,需要使用到库文件的项目的运行库决定。详细可参考

#visual studio# 运行库MT、MTd、MD、MDd

https://blog.csdn.net/xiaoting451292510/article/details/89385839

 

Windows库编译下载地址:https://gitee.com/arvinxt/window-library

 

使用zlib静态库:zlibstat.lib

1. 包含头文件

    属性--C/C++--常规--附加包含目录(添加包含.h文件的目录)

2. 定义宏

    属性--C/C++--预处理器--预处理器定义:添加 ZLIB_WINAPI ASMV ASMINF, 否则会Link错误如下:

3. 项目包含.lib文件所在的目录:

    属性--链接器--常规--附加库目录

4. 项目包含.lib文件

    属性--链接器--输入--附加依赖项(libstat.lib)

 

 

5. 项目代码中 #include "zlib.h"

编译生成.exe即可使用。

 

使用动态库 zlibwapi.lib

1. 包含头文件

    属性--C/C++--常规--附加包含目录(添加包含.h的目录)

2. 定义宏

    属性--C/C++--预处理器--预处理器定义:添加 ZLIB_WINAPI, 否则会Link错误如下:

3. 项目包含.lib文件所在的目录:

    属性--链接器--常规--附加库目录

4. 项目包含.lib文件

    属性--链接器--输入--附加依赖项(zlibwapi.lib)

 

5. 项目代码中 #include "zlib.h"

编译生成.exe文件需要.dll文件支持(动态加载)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值