使用MASM和VS2013失败(错误MSB3721 /退出代码1)

时间:2014-05-31 14:08:54

标签: assembly visual-studio-2013 zlib masm

我尝试通过Visual Studio 2013(Update 2)编译汇编代码,我收到以下错误:

  

C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120 \ BuildCustomizations \ masm.targets(50,5):错误MSB3721:Der Befehl" ml.exe / c / nologo / Zi /Fo" Debug; inffas32.obj" / W3 / errorReport:prompt /Ta" ;......\3rdParty\zlib-1.2.8\contrib\masmx86\inffas32.asm"" wurde mit Code 1 beendet。

(确实是德国的VS2013版本,但我相信这个问题应该没问题)

实际上我尝试通过VS2013编译zLib 1.2.8 MASM贡献。我创建了一个空项目,为MASM做了构建定制,从zLib包中添加了两个文件(inffas32.asm和match686.asm)。 我更改了项目以创建静态库并将子系统设置为windows。 但是我收到了上面的错误消息。

如果我尝试编译以使用此命令行在VS2013 shell中手动编译文件,则一切正常。

上述程序在VS2012中运行良好 - 但现在,在VS2013中它将不再编译(即使我打开VS2012项目)。

我是否遗漏了某些内容,或者它是MASM自定义构建中的错误?

1 个答案:

答案 0 :(得分:1)

我自己找到了解决这个问题的方法,这对其他人也有帮助:

编译代码会产生A5000警告,因为汇编代码中有一些.FPO指令。此警告将强制ml.exe退出警告级别高于1。

如果我将警告级别降低到1或0,则不会出现此警告,并且一切正常。

如果有人知道如何禁用此“将警告视为错误”,请告知我们。此功能的项目设置对我不起作用。 无论如何没有警告,没有错误和.FPO只是控制调试记录的发射。所以,纯粹的代码很好我相信(评论这条线路也没关系。)

@Hans Passant:诊断输出无效。我确实在你的tipp之前看过它,但感谢你的时间并看看我的问题! :)