zlib是个很牛的东东,从http://www.zlib.net/可以获取到源码,很多第三方的库要用到它!!!
但在VS2008下编译会报错:error PRJ0019: 某个工具从以下位置返回了错误代码: "Assembling...",
Assembling: E:/开源项目/压缩/zlib 1.2.3/zlib123/contrib/masmx86/inffas32.asm
zlib123/contrib/masmx86/inffas32.asm(647) : error A2070:invalid instruction operands
zlib123/contrib/masmx86/inffas32.asm(649) : error A2070:invalid instruction operands
zlib123/contrib/masmx86/inffas32.asm(663) : error A2070:invalid instruction operands
zlib123/contrib/masmx86/inffas32.asm(720) : error A2070:invalid instruction operands
(大致是上述行 有问题,不同的版本可能不大一样)
解决办法:
是把inffas32.asm中的4处出错的类似
movd mm4, [esp+0]
的汇编代码,添加dword ptr修饰符,改为
movd mm4,dword ptr [esp+0]
这样就能顺利编译、通过测试了。
可以直接搜索:movd mm,
参考:http://dearymz.blog.163.com/blog/static/2056574200871010027435/
另:如果其他的程序工程用到了这个库,把所需要的组件(.h .lib 等)都复制过去依然提示在连接库时间有错,
可以直接把zlib的工程添加到你的解决方案中,然后设置你的项目-》依赖,添加zlib的VC++工程,就OK了。