`

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

 
阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>

最近需要读写 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]

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



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=592890


分享到:
评论

相关推荐

    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