【问题标题】:How to get Visual Studio 2013 to not stop the build on errors (C++)如何让 Visual Studio 2013 不停止错误生成 (C++)
【发布时间】:2014-07-28 23:39:55
【问题描述】:

我的 Visual Studio 2013(在 Windows 7 上)在出现错误时停止 C++ 构建,而不尝试编译所有文件。它会报告来自多个文件的错误,但如果这些文件中有错误,则在编译同一项目文件夹中的文件后似乎会停止。 (我不能肯定这就是它正在做的事情。)在我纠正了这些错误并再次构建之后,它将继续运行,直到它在另一批文件中发现错误,然后再次退出。我似乎找不到任何控制它的设置,而且我很确定它不应该是默认行为。

我很清楚,当出现错误时,无法生成最终构建产品。目标不是避免修复错误。目标是能够开始构建,做一些其他的事情,然后回来,并让整个项目中的所有错误都在列表中等待立即修复。

【问题讨论】:

  • 而不是仅仅不修复错误?它不是让你编译是有原因的,而不仅仅是让你头疼。
  • 如果你想继续构建,不要注入缺陷;在开始构建之前使用清单检查您的代码。这将提高不停止构建的机会。

标签: c++ visual-studio-2013 build-process


【解决方案1】:

构建过程的终止取决于缺陷的严重程度和编译器内部的混乱程度。

有些错误要么严重到编译器无法继续,要么编译器放弃了太多重复性问题。 GNU 编译器通常会汇总并仅针对重复的错误或警告发出一个通知。

有些错误会导致编译器混淆。该错误会干扰语言的解析方式,因此编译器会放弃。许多示例是省略分号、右大括号或右 cmets。

其他因素可能会破坏构建,例如丢失的文件、旧的目标文件、混淆的符号文件(在 Visual Studio 中很多次)。

【讨论】:

  • @MooingDuck:我删除了这些段落。我现在可以 +1 了吗? :-)
  • 这是微软编译器。我不介意它是否因太多错误而退出单个文件。问题是它退出了整个构建。缺少源文件会产生特定错误,这发生在清理和删除输出文件夹之后,所以这些不是问题。
【解决方案2】:

使用 Visual Studio,您需要先删除项目中的所有错误,然后才能编译。如果您将不可编译的文件与项目分开,只要您不需要它们,您就可以编译它们。如果您确实需要它们,那么您必须修复错误。编译器错误是有原因的。修复错误或将错误代码注释掉。

【讨论】:

  • 出现错误的最常见原因是之前的错误已经存在,而随后的 10,000 个错误无关紧要。所以你错了。下一次保持安静,除非你知道你在说什么。
猜你喜欢
  • 2015-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-25
相关资源
最近更新 更多