0

我知道there is /WX to treat all warnings as errors。并且有/we1234将特定警告(即1234)视为错误。将特定级别的所有警告视为错误,但不是下一级的警告

我怀念的是一个标志,把3级的所有警告视为错误,但不是那些4级的

在我的遗产项目,我们好不容易才摆脱所有W3警告,并上升到W4。由于这引发了几千条警告,我们无法在引入W3时发现任何新的警告。
因此,我们希望使所有的W3警告错误。

我可以编译所有W3警告的列表并为其中的每个警告添加一个/weXYZ,但这似乎过于乏味。

+0

'W4'总是会触发来自STL实现的大量警告。 – Zereges

+0

@Zereges我无法确认。我主要是从VS2017的代码中得到警告。这是<= VS2015的情况。 –

+0

有趣的一点,升级的另一个原因:) – Zereges

回答

0

你有两个选择:

要么添加/weXYZ每个三级预警。具体步骤如下:

  • 添加了几个这样的标志的通过GUI
  • 在文本编辑器中的项目文件,并找到格式,它使用
  • 刮所有三级警告的列表从适当的网页
  • 将其编辑为正确的格式
  • 将设置放入项目文件中。

或者,而不是启用所有 4级警告,让他们一次一个(一旦你已经解决了以前的)。

+1

'.vsprops'文件会更有用,因为它可以重用。 – MSalters

+0

我正在使用CMake生成项目和解决方案文件。所以我不会通过VS GUI添加任何东西。你基本上描述了我的问题的最后一句话。 –

相关问题