如何在 Delphi 10.2 中将警告视为错误,同时将某些警告设置为 False

2024-03-26

在 Delphi 10.2 中,有一个选项可以将警告视为错误(项目选项 -> Delphi 编译器 -> 提示和警告 -> 输出警告)。选项是True, False and as errors。 当设置为as errors编译器会将每个警告视为错误,从而导致构建失败。对我来说,这是至关重要的,因为我希望我的构建服务器在出现任何警告时都会失败(我正在使用 Microsoft Azure DevOps 构建管道)。

问题是,当我将任何列出的警告设置为非默认值时(例如,当我设置Platform Symbol to False忽略任何平台符号警告),as errors设置不再起作用。然后,所有警告都会作为正常警告输出,而不是错误(除了Platform Symbol当然,在此示例中发出警告)。

我知道我可以使用$WARN <identifier> OFF禁用特定警告的指令,并且确实尊重as errors设置,但该指令具有本地范围,因此这意味着我必须将其添加到具有此警告的每个单元。我宁愿使用具有全局范围且适用于整个项目的解决方案。

我的问题:
如何让编译器将警告视为错误并全局禁用某些警告?

Update 1

当以下情况时仍报告为警告的警告Output warnings被设定为True,而一些警告被设置为False is the W1029 Duplicate constructor ... with identical parameters will be inacessible in C++。就我而言,代码使用特定于平台的符号,因此我设置Platform Symbols警告False,因为我仅针对 Windows。

Update 2

为了澄清我的情况:我的代码有两个警告:

  • 平台符号警告
  • 重复构造函数警告

我使用以下设置:

  • Platform Symbol警告设置为False,其他均采用默认值
  • Output warnings被设定为As errors

结果:

  • The Platform Symbol警告已静音(如预期)
  • The Duplicate constructor警告仍然输出为警告而不是作为错误。

当我设置Platform Symbol警告True, the Platform Symbol警告does被视为错误并停止编译。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Delphi 10.2 中将警告视为错误,同时将某些警告设置为 False 的相关文章

随机推荐