我在MSVC13中设置了一个预构建事件,该事件以error MSB3073: :VCEnd" exited with code -1.
退出
而且我无法绕过此错误,即使bat文件错误退出,我也不想停止构建过程。
我已经配置了
BuildEvents>预构建事件
调用bat文件 命令行:
致电$(ProjectDir)\ pre_build.bat $(配置)= 1
此bat文件包含2个对其他bat文件的调用。第一个错误退出(但我不在乎我想要完成的子任务),第二个正常。
在pre-build.bat中,我尝试拦截此错误并更新该值,以表明MSVC一切正常,但我无法成功。 我试图回显错误级别,但其中包含0。 我尝试将ERRORLEVEL设置为0,但在MSVC级别上未进行任何更改。 我尝试在bat文件的末尾添加出口0,出口/ b 0或@exit 0,但没有改变。
我发现此链接(https://blogs.msdn.microsoft.com/astebner/2006/08/08/how-to-make-visual-studio-2005-ignore-return-codes-from-pre-build-events/)解释了如何告诉MSVC忽略错误,但由于它是为MSVC2005编写的,并且vcxproj中的PreBuildEvent的语法已更改,因此它不起作用。
如果我在控制台中运行脚本,则该脚本会退出并显示错误,但是,如前所述,我不在乎此错误,因此部分工作已完成。
我也尝试使用以管理员身份运行的MSVC,无需更改。
pre-build.bat的内容:
致电build.bat%* TOOLCHAIN = mdk4cc5 TC_NO_CHECK = 1
然后build.bat运行SCons(我对SCons没有任何了解)
如果您对如何忽略MSVC中的此错误以继续进行构建过程(无论是否干净)有任何想法,这将非常有用,因为我已经花了一天的时间... >
非常感谢您的反馈和答案。
答案 0 :(得分:1)
您的命令输出在某处可能包含单词“ 错误”。
我们这里有一些脚本echo XX send-msg 19 82 Error :A KANAL A AUSGEFALLEN Error ge
然后构建输出包含:
2> ------ Erstellen gestartet: Projekt: DecoderTest, Konfiguration: Debug Any CPU ------
2> Datei nicht gefunden
2>EXEC : XX send-msg 19 82 error : A KANAL A AUSGEFALLEN Error ge
2>
2> D:\Projekte\[...]\DecoderTest\\..\..\..\TableConverterTraverse.bat: Durchlauf erfolgreich.
2>C:\Program Files (x86)\Microsoft Visual Studio\[...]: error MSB3073: Der Befehl "D:\Projekte\[...]\DecoderTest\InvokeTableConverter.bat
2>C:\Program Files (x86)\Microsoft Visual Studio\[...]: error MSB3073: " wurde mit dem Code -1 beendet.
========== Erstellen: 1 erfolgreich, 1 fehlerhaft, 39 aktuell, 0 übersprungen ==========
沉默命令输出后,构建成功。
答案 1 :(得分:0)
我不是真正的C ++专家,但也许这篇文章可以为您提供帮助: Disable single warning error
“答案”中的某人谈论了Pragma Surprass,因此您可以尝试:
#pragma warning(suppress: 4101)
// here goes your single line of code where the warning occurs