将特定级别的所有警告视为错误,而不是下一级的警告
Posted
技术标签:
【中文标题】将特定级别的所有警告视为错误,而不是下一级的警告【英文标题】:Treat all warnings of specific level as errors but not those of next level 【发布时间】:2017-07-28 12:47:38 【问题描述】:我知道there is /WX
to treat all warnings as errors。还有/we1234
将特定警告(即1234)视为错误。
我错过了一个标志,它将所有级别 3 的警告视为错误,而不是级别 4 的警告。
在我的遗留项目中,我们只是设法摆脱了所有 W3 警告并增加到 W4。由于这引发了数千个警告,因此在引入 W3 时,我们将无法发现任何新的警告。 因此,我们想让所有 W3 警告错误。
我可以编译所有 W3 警告的列表并为每个警告添加一个/weXYZ
,但这似乎太乏味了。
【问题讨论】:
W4
总是会从 STL 实施中触发无数警告。
@Zereges 我无法确认。我主要从我们的 VS2017 代码中收到警告。
有趣的一点,升级的另一个原因:)
@Zereges W4 should be okay 但 Wall 会遇到无数错误。
【参考方案1】:
你有几个选择:
为每个三级警告添加/weXYZ
。请按以下方式进行操作:
或者,不要启用所有 4 级警告,而是一次启用一个(一旦您修复了之前的警告)。
【讨论】:
.vsprops
文件会更有用,因为它可以重复使用。
我正在使用 CMake 生成项目和解决方案文件。所以我不会通过 VS GUI 添加任何东西。你基本上是在描述我问题的最后一句话。以上是关于将特定级别的所有警告视为错误,而不是下一级的警告的主要内容,如果未能解决你的问题,请参考以下文章
在 NXLog 中选择特定级别的 Windows 应用程序日志的问题