警告为错误-如何消除这些


91

我无法弄清楚如何摆脱基本上不应在Visual Studio 2010中停止编译并且不应该显示停止符的错误,或者至少我稍后会修复它们,但我不希望编译仅导致错误和停止这些问题。

例如,我收到以下错误:

错误1错误警告:“ ScrewTurn.Wiki.SearchEngine.Relevance.Finalize(float)”上的XML注释具有“ IsFinalized”的paramref标记,但没有名称为C:\ www \ Wiki \ Screwturn3_0_2_509_SearchEngine的参数\ Relevance.cs 60 70 SearchEngine

对于此代码:

  /// <summary>
  /// Normalizes the relevance after finalization.
  /// </summary>
  /// <param name="factor">The normalization factor.</param>
  /// <exception cref="InvalidOperationException">If <paramref name="IsFinalized"/> is <c>false</c> (<see cref="M:Finalize"/> was not called).</exception>
  public void NormalizeAfterFinalization(float factor) {
      if (factor < 0)
          throw new ArgumentOutOfRangeException("factor", "Factor must be greater than or equal to zero");

      if (!isFinalized)
          throw new InvalidOperationException("Normalization can be performed only after finalization");
      value = value * factor;
  }

我查看了菜单工具 -> 选项,但看不到在哪里可以调整编译器,并告诉它不要担心注释或基于XHTML的错误。


11
问题不是在问“仅仅修复代码”。
orfdorf '16

Answers:


153

Visual Studio中的每个项目都有一个“将警告视为错误”选项。完成每个项目,然后更改该设置:

  1. 右键单击您的项目,选择“属性”。
  2. 点击“构建”。
  3. 将“将警告作为错误处理”从“全部”切换为“特定警告”或“无”。

根据项目的类型(例如,类库与Web应用程序),此开关的位置会有所不同。


1
嘘什么地方藏起来。我到处都在看,但是在计划中。
nportelli

1
有人知道VS2012的新解决方案吗?
bobble14988 2012年

1
VS2012中的相同解决方案,@ bobble14988。
Michael Petrotta 2012年

6
@ bobble14988在VS2012中,您可以在项目属性-> C / C ++->常规
Hanan N.

1
我想知道为什么VS 2017不能兑现从全部到无的更改。我翻转了它,保存了所有内容,清理,重建,退出VS,清理,重建了广告恶心,但警告仍然是错误。csproj文件应false使用该设置。这到底是哪里错了???在MS开发人员引入错误之前,我会放弃。
ajeh

13

为了使Visual Studio Express 2013摆脱这些问题,您必须执行以下操作。

右键单击项目,然后单击“属性”。在左侧菜单的属性窗口中,选择 配置属性-> C / C ++->常规

在右侧选择

将警告视为错误否

SDL检查否


1
禁用SDL Checks对我在Visual Studio 2015上起作用。(我将弃用警告视为错误)
Kevin Smyth

6

最佳答案已过时Visual Studio 2015

英语:

Configuration Properties -> C/C++ -> General -> Treat Warning As Errors

德语:

Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln

或使用此图片作为参考,可以更轻松地快速确定位置:

在此处输入图片说明


1

您可以在头文件或C文件中控制行为:

#pragma warning(error:4003) //not enough actual parameters for macro

尚未在Visual Studio 2015上进行测试。我有一个通用的头文件'compl_adaption.h',包含在所有文件中,用于为我在Visual Studio上编译的所有项目设置此行为。


1

将所有编译器警告视为编译错误

  1. 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。
  2. 单击编译选项卡。(或可能有“构建”选项卡)
  3. 选中将所有警告视为错误复选框。(或选择构建设置,并将“将警告作为错误处理”设置更改为true。)

如果你想摆脱它

禁用所有编译器警告

  1. 在解决方案资源管理器中选择一个项目后,在“项目”菜单上单击“属性”。
  2. 单击编译选项卡。(或可能有“构建”选项卡)
  3. 选择禁用所有警告复选框。(或选择构建设置,然后将“将警告作为错误处理”设置更改为false。)

0

在属性中,

转到配置属性。在那之后转到C / C ++(或类似的东西)。,然后单击“常规”,在其中删除“将警告作为错误处理”复选框中的复选框


0

VS 2019

仅对于使用VS2019的人,我认为其他答案也指出了相同的位置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.