在 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(使用前将#替换为@)