【问题标题】:Pre-Build event exiting with code -1 in vs2010在 vs2010 中以代码 -1 退出的预构建事件
【发布时间】:2014-03-06 14:00:38
【问题描述】:

我有一个简单的批处理脚本在预构建事件中运行命令行只是

C:\path\to\batch\script\PreBuildGenANTLR.bat

批处理脚本包含

@echo off pushd ..\..\Parser java -jar ..\ANTLR\antlr-3.5-complete.jar -o .ANTLR ExprCppTree.g popd

我已经尝试过 exit 0 exit \b 0 SET ERRORLEVEL = 0 但似乎无论我做什么脚本都会运行,但构建停止并且错误出现错误 MSB3073 exited with code -1。我已经尝试了很多其他的方法来使这个脚本返回零,包括http://blogs.msdn.com/b/astebner/archive/2006/08/08/691849.aspx 中列出的步骤。依然没有。该脚本运行时出现一堆警告,但没有错误。它做了它应该做的事情,但构建仍然停止并以代码-1退出。我到底做错了什么?如何让它返回零并继续构建?

【问题讨论】:

  • 您是 call 正在从预构建事件中获取批处理脚本吗? call C:\path\PreBuildGenANTLR.bat java 命令是否返回-1 退出代码?可能会尝试捕获退出代码。 java -jar ..\ANTLR\antlr-3.5-complete.jar -o .ANTLR ExprCppTree.g || verify >nul 也在脚本末尾使用exit /b 0
  • 没有。就像我说的那样,当我从 cmd 运行脚本时,脚本正在运行并且一切正常,但是由于某种原因,当我将它放入 vsStudio 时,它返回 -1

标签: visual-studio-2010 batch-file antlr pre-build-event


【解决方案1】:

在 Visual Studio 2010 中,您只需使用 NuGet 包管理器安装 Antlr3 包(确保为包列出的 Id完全正确 Antlr3)。安装包后,要编译语法,您只需在项目中选择 .g.g3 文件并设置 Build Action 属性为Antlr3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-11
    • 2012-06-25
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2013-04-11
    相关资源
    最近更新 更多