VC2005下编译zlib1.2.5

从zlib官方网站下载zlib的源代码zlib125.zip,只有VC6、VC9和VC10的工程,从VC6的工程转为VC8编译出现问题,如下:
1>Assembling...
1> Assembling: f:\work\study\zlib-1.2.5\contrib\masmx86\inffas32.asm
1>Assembling...
1> Assembling: f:\work\study\zlib-1.2.5\contrib\masmx86\gvmat32.asm
1>MASM : fatal error A1000: cannot open file : f:\work\study\zlib-1.2.5\contrib\masmx86\gvmat32.asm
1>Project : error PRJ0019: 工具从"Assembling..."

发现masmx86并没有gvmat32.asm,于是根据win32/Makefile.msc的说明,其中有4中编译方式,如下:
# 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" \
#         OBJA="inffasx64.obj gvmat64.obj inffas8664.c"  (use ASM code, x64)

以第三种为例:
1、打开“Visual Studio 2005 命令提示”,为了使用VC2005的缺省系统配置参数;
2、切换目录到
zlib-1.2.5\contrib\masmx86,并执行脚本bld_ml32.bat,此时会产生inffas32.obj和match686.obj,把这两个文件拷贝到源代码目录zlib-1.2.5下;
3、切换目录到zlib-1.2.5,执行:nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj"

经过以上三个步骤即可完成zlib1.2.5的编译。

如果使用第一种方式编译,需要修改win32/Makefile.msc,在OBJS中增加inffast.obj,否则会出现连接错误。

转自:http://blog.163.com/waft_xu/blog/static/43815294201083094750976/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值