Chinaunix首页 | 论坛 | 博客
  • 博客访问: 642847
  • 博文数量: 133
  • 博客积分: 1566
  • 博客等级: 上尉
  • 技术积分: 1230
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-01 09:31
文章分类

全部博文(133)

文章存档

2019年(1)

2018年(1)

2017年(8)

2016年(9)

2015年(17)

2014年(4)

2013年(31)

2012年(25)

2011年(36)

2010年(1)

我的朋友

分类: Windows平台

2015-08-07 15:41:17

一、zlib库的编译
    首先要下载这个库,这个谷歌和百度也都可以找得到的。我下载的是zlib-1.2.5,下载完解压出来即可。下边就开始编译吧。(包括动态库和静态库两种)
1. 首先开启VS2010的Command Prompt (32bit),也就是命令提示窗口。
2. 进入到zlib-1.2.5/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-1.2.5/contrib/vstudio/vc10/zlibvc.sln,打开
   这个解决方案中包含6个工程。其中:
   (1). zlibvc生成动态链接库zlibwapi.dll和对应的导入库zlibwapi.lib
   (2). zlibstat生成静态链接库zlibstat.lib
   (3). testzlibdll测试生成的动态链接库zlibwapi.dll
   (4). testzlib测试生成的静态链接库zlibstat.lib        
   最后我们在debug模式下编译整个解决方案。生成的dll和lib文件可在相应的文件夹中找到。
 
下边介绍如何使用编译好的动态或是静态库。(假设项目工程已经建立完毕)
这里我们把静态库zlibstat.lib和动态库(zlibwapi.dll/zlibwapi.lib)以及zlib.h/zlibconf.h文件放在一个文件夹中。


二、通过cmdline编译zlib
    nmake -f win32/Makefile.msc    // 生成标准zlib库
    nmake -f win32\Makefile.msc STATICLIB=zlibstat.lib // 生成静态库zlibstat.lib
    nmake -f win32\Makefile.msc test                    // zlib库测试命令


# Usage:
#   nmake -f win32/Makefile.msc                          (standard build)
#   nmake -f win32/Makefile.msc LOC=-DFOO                (nonstandard build)
#   nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" \
#         OBJA="inffas32.obj match686.obj"               (use ASM code, x86)
#   nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." \
#         OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"  (use ASM code, x64)

阅读(3082) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~