一. zlib下载编译

一.下载

http://www.zlib.net/fossils/(网上找的各个版本都有)

二.编译

我下载的是zlib-1.2.11,进入目录zlib-1.2.11/contrib/vstudio/ 可以找到各个版本的解决方案文件,我用的是vc14zlib-1.2.11/contrib/vstudio/vc14/zlibvc.sln,打开

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

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

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

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

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

为了兼容旧版本可以在解决方案中将zlibwapi.dl和zlibstat.dll改为zlibdll

三.使用zlib静态库:zlibstat.lib

1. 包含头文件

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

2. 定义宏

    属性--C/C++--预处理器--预处理器定义:添加 ZLIB_WINAPI ASMV ASMINF

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

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

4. 项目包含.lib文件

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

5. 项目代码中  zlib.h和zlibconf.h

编译生成.exe即可使用。

四.使用动态库 zlibwapi.lib(zlibwapi.dll)

1. 包含头文件

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

2. 定义宏

    属性--C/C++--预处理器--预处理器定义:添加 ZLIB_WINAPI(缺少编译会报错,无法解析的外部符号 _compress,该符号在函数 ,这个宏定义在zlib是必要的)

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

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

4. 项目包含.lib文件

    属性--链接器--输入--附加依赖项(zlibwapi.lib)(zlib.lib我输出的文件名)

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

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

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
zlib是一个常用的压缩库,通过静态编译可以使得zlib库的功能在各种系统下都能正常使用,同时也减少了对于动态链接库的依赖。 静态编译zlib库需要使用makefile.msc文件。makefile.msc是一个用于Windows系统下的makefile文件,它包含了编译zlib库的相关指令和规则。 首先,我们需要下载zlib库的源代码,可以从官网或者其他资源获取。然后,将源代码解压到一个目录下。 接下来,我们需要打开makefile.msc文件,并根据自己的需求配置一些编译参数,比如指定编译器、目标平台等。可以根据makefile.msc文件中的注释进行相应的配置。 配置完成后,可以在命令行中进入到源代码所在的目录,并执行命令"nmake -f makefile.msc",开始编译zlib库。 在编译过程中,makefile.msc会根据配置的参数自动进行编译和链接,并生成静态链接库文件(通常是libzlib.a或者zlib.lib)。 编译完成后,我们可以在生成的目录中找到生成的静态链接库文件。将该文件复制到我们自己项目的目录中,并在项目中引用该静态链接库。 最后,编译我们的项目,并确保在编译过程中链接了zlib库。这样,我们就可以在我们的项目中正常使用zlib库的功能了。 总结来说,通过静态编译makefile.msc文件,我们可以将zlib库的功能嵌入到我们的项目中,使得我们的项目在不同的系统上都能正常使用zlib库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值