`
ihuashao
  • 浏览: 4545266 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

zlib 在 Visual Studio 2005 下编译失败的解决办法

阅读更多

最近需要读写 png 文件,按照以前的办法试验,却发现无法编译zlib 1.2.3。出错信息为:

inffas32.asm(594) : error A2070: invalid instruction operands
inffas32.asm(596) : error A2070: invalid instruction operands
inffas32.asm(610) : error A2070: invalid instruction operands
inffas32.asm(667) : error A2070: invalid instruction operands

上网一查,发现别人也遇到相同的问题:http://svn.haxx.se/dev/archive-2005-11/0942.shtml。原因在于

It (Microsoft Macro Assembler 8.0, included with Visual C++ 2005 Express )refuses to assemble a MOVD instruction with a memory operand with an implied size, and requires that "dword ptr" prefix the memory operand.

微软说这是by design,不是bug:

http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=6306f7dc-2cc2-4591-bd60-5d802178fdfa

解决办法是把inffas32.asm中的4处出错的类似

movd mm4, [esp+0]

的汇编代码,添加dword ptr修饰符,改为

movd mm4,dword ptr [esp+0]

这样就能顺利编译、通过测试了。

分享到:
评论
1 楼 pdztop 2013-12-18  
inffas32.asm(594)
inffas32.asm(596)
inffas32.asm(610)
inffas32.asm(667)

inffas32.asm文件 
594 596 610 667这四行
中的  movd mm*, [*]
在文件报错行上 movd mm*, [*]
加上 dword ptr 这个修饰符
movd mm*,dword ptr
  • 通俗说下

    相关推荐

      vs2005下编译的libpng.lib和zlib.lib

      记得版本一定要配对,比如你用的是VS2003,那么libpng.lib zlib.lib最好是VS2003下生成的。

      编译好的zlib库,可以直接使用

      zlib库。1.2.11版本

      vs2015编译freeswitch

      win7 64位下用vs2015编译freeswitch,缺少的源码。有curl-7.35.0,jpegsr8d,libpng-1.6.29,pcre-8.34,speex-1.2rc1,sqlite-amalgamation-3190300,tiff-4.0.7,zlib-1.2.11

      zlib v1.2.12(加入了缺少的文件)

      从官网下载的zlib, 用visual studio 2022编译时发现缺少一些文件。 从上个版本压缩包里找到了这些文件,打包进去。 仅在Windows x64下测试了输出的【zlibstat.lib】在项目中使用无误。

      zlib-1.2.12 windows版本

      zlib-1.2.12版本。在windows环境下,采用visual studio 2019编译 包含include头文件、dll动态库,以及静态库。 开发者可以基于此版本进行头文件的调用及开发。

      zlib_1.2.11(二进制预编译包和对应的源代码 vs2017版)

      1、zlib二进制预编包(VS2017) 2、zlib预编译包对应的源码包

      Cairo Solution for Visual Studio 2012:使用VS2012编译pixman / cairo的解决方案和项目文件-开源

      使用Visual Studio 2012编译pixman / cairo而不需要msys,cygwin或mozilla生成工具的解决方案和项目文件。 仅需要pixman / cairo源。 这些项目将pixman / cairo编译为静态库,而没有其他依赖项,但是如果需要PDF,...

      OpenSource+zlib-1.2.13-x86-64-vc143

      开源软件zlib-1.2.13,面向Visual Studio 2022编译的开发库

      win10环境下hadoop-3.2.1编译后的源码包及编译所需工具

      win10环境下hadoop-3.2.1编译后的源码包,以及win10环境编译所使用的软件及工具,hadoop-3.2.1-src.tar.gz、protobuf-2.5.0.zip和protoc-2.5.0-win32.zip、zlib-1.2.5.tar.gz、cmake-3.18.4-win64-x64.zip、Git-...

      quazip 1.3源代码中的qztest的visual studio 2019工程文件

      使用编译好的quazip 1.3,zlib1.2.12动态链接库,使用quazip1.3源代码中的qztest测试,编译链接通过,部分项目测试失败。

      zlib-1.2.5-win32-x86

      在“Visual Studio .Net 2003命令提示符”中nmake的。包括readme_win32.txt中列出的全部20个文件。 源码中的Makefile.msc有bug。包中附带我修改过的。前3种编译方法都测试过,x64的未测试,应该也行。只要按Makefile...

      cesium terrain builder 编译 及 使用

      github获取cesium terrain builder 源码 GDAL、zlib、cmake运行环境搭建 visual studio 2017编译ctb ctb运行参数参数说明 ctb各功能验证 java代码调用exe命令

      vcpkg源码包:vcpkg-2022.02.23

      vcpkg 是微软团队在GitHub上的一个开源项目,它提供一系列简单的命令,自动下载源码然后编译成三方库,而且并不依赖于Windows注册表或Visual Studio。它简化了 Windows、Linux 和 macOS 上第三方库的获取、安装、...

      VirtualBox 4.3.10在windows xp系统构建编译平台的支持工具

      1.0.1g-VC(任选一个版本),由于Qt4.8.5-for-vs2010、Windows Driver Kit Version 7.1.0、Visual Studio 2010安装包很大,无法上传,请自行下载安装包安装即可,另外,本人开始使用Qt5.2.1未编译成功(暂未知原因)...

      libzippp编译的bin

      libzippp 基于window visual studio 2015编译过的,比较nice~

      Exiv2源码 读取exif

      方便快捷的使用在visual studio 的任何版本上。 图片元数据(Metadata) 是嵌入到图片文件中的一些标签。比较像文件属性,但是种类繁多。对于数码图像,目前常见的研数据有EXIF, IPTC和XMP三种: EXIF:通常被数码...

      libxlsxwriter,vs2017

      项目上需要用windows环境上使用libxlsxwriter, 编译环境VS2017, 附件包含了编译好的zlib库以及libxlsxwriter.lib可以直接使用,也制作好vs2017工程。可直接使用。

      matlab代码做游戏-playing-for-data:玩数据

      matlab代码做游戏玩数据 本文随附此源代码发布 为数据而玩:计算机游戏中的地面真理斯蒂芬·里希特(Stephan ...Studio(用于编译renderdoc)-在VS 2013上测试 Python-已通过Anaconda测试 MATLAB(用于注解框架)

    Global site tag (gtag.js) - Google Analytics