如何在Visual Studio中增加错误限制?

时间:2010-05-21 09:30:27

标签: c++ visual-studio visual-studio-2008 visual-c++

构建应用时。 VS会抱怨超出错误计数:

fatal error C1003: error count exceeds 100; stopping compilation

有没有办法增加限额?

提前致谢,
- Oleksii Skidan

5 个答案:

答案 0 :(得分:26)

此限制是硬编码的。以下是2006年microsoft.public.vsnet.general组中MSFT员工的帖子(查找'致命错误C1003'):

  

嗨,

     

不幸的是,这100个限制是   硬编码,无法更改。它的   保持所有错误只是不切实际   由于一个错误可能导致的信息   导致其他几个错误。

     

我希望你理解理性   这个设计背后是我们的产品   球队。但是,如果你还有   对此的担忧,请随意   在提交您的反馈意见   http://connect.microsoft.com/Main/content/content.aspx?ContentID=2220   由我们的产品监控   球队。谢谢你的   理解。

     

真诚的,Walter Wang   (哇... @ online.microsoft.com,删除   '在线。')Microsoft在线社区   支持“

答案 1 :(得分:6)

我不这么认为。 VS基本上报告在编译期间遇到的所有错误。代码中可能存在一些错误的部分,这些部分会使编译器陷入无限的“错误”循环中。

实施限制是为了避免这种情况。在大多数情况下,您获得的100个错误就是一遍又一遍地报告的相同错误。增加重复次数会有什么意义?

也许您可以先发布错误发生的代码段,以便我们帮您解决。

答案 2 :(得分:3)

我认为这是一个硬编码限制,所以没有。

正如其他人所评论的那样,很难理解你想要实现的目标。

在一天结束时,你必须全部修复它们,所以要陷入困境并开始修复它们。最终,你将低于100,你可以开始计算它们。

发生这种情况时,报告实际错误数通常没有价值。大多数情况下,当你得到C1003时,它实际上只有少数真正的错误,导致大量其他错误。

(例如)

  • 如果.h文件中存在错误,则会在#includes的每个.cpp文件中报告该错误。
  • 如果存在阻止定义任何类型标识符的错误(例如,类,变量,方法名称),则每次尝试稍后使用时,都会报告错误。

答案 3 :(得分:2)

解决方法减少报告的错误数量:

  • 将cl.exe重命名为cl-orig.exe
  • 滚动您自己的cl.exe,启动cl-orig.exe,捕获其stdout / stderr
  • 解析stderr,查找错误消息并计算它们
  • 在前n个错误后中断

有关提示,请参阅http://msdn.microsoft.com/en-us/library/ms682499(v=vs.85).aspx

答案 4 :(得分:0)

我也有一个像这样的项目:有时Visual Studio决定要做很多事情,发出100条关于解决方案其他部分的真正不相关的消息,并中止构建,因为它达到了消息限制,而没有在我从事的项目上工作我感兴趣。

我们发现的解决方法是使用msbuild从命令提示符处构建解决方案:Use MSBuild演练概述了步骤。 msbuild将所有消息输出到控制台,一旦构建完成,我们就可以在Visual Studio中进行工作并再次调试。不理想,但是它可以让我们完成手头的任务。