编译zlib

来源:互联网 发布:mac怎么设置自动关机 编辑:程序博客网 时间:2024/06/05 00:45
VC2005下编译zlib1.2.5  

http://blog.163.com/waft_xu/blog/static/43815294201083094750976/?fromdm&fromSearch&isFromSearchEngine=yes


从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=ml64LOC="-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,否则会出现连接错误。

0 0
原创粉丝点击