【问题标题】:Delphi 2009 where is the 'treat warnings as errors' option?Delphi 2009“将警告视为错误”选项在哪里?
【发布时间】:2008-11-06 09:29:10
【问题描述】:

在 Delphi 2009 中,您在哪里打开将警告视为错误的选项?

【问题讨论】:

    标签: delphi compiler-construction delphi-2009


    【解决方案1】:

    我发布后不久就找到了答案!可能对其他人有用。

    导航到“Project -> Options - > Delphi Compiler -> Hints and Warnings”并将“Output Warnings”的值更改为“as errors

    我一直在寻找类似于 Visual Studio 的选项

    【讨论】:

    • 我曾看过那个屏幕,但从未在下拉菜单中看到“作为错误”选项。当我看到 True 作为默认值时,我只是假设“False”是唯一的其他选项。谢谢!
    • 这仅适用于您当时正在进行的项目。如果我总是希望所有项目中的所有警告都是错误怎么办? (我真的希望提示是相同的,但我认为这是不可能的)。
    • @Paul 您可能必须在所有项目上单独设置它。它是在项目文件中设置的,因此您可以编写一个脚本来一次设置它们。将其粘贴在 PropertyGroup 标记中,没有条件:<DCC_Warnings>error</DCC_Warnings>(对于每个 dproj 文件)。
    • 谢谢,但没有运气。即使在报告警告后,该程序也始终编译为成功。我已使用 GUI 将其添加到每个配置中并手动编辑 DPROJ 文件。似乎这个选项在 Delphi 10 中被破坏了。
    • @Paul 我在我的 Delphi 10.2 项目中注意到了同样的情况。当设置为“错误”时,编译器不会将警告转换为错误。但是,我确实发现我将一些警告设置为 False(平台符号和平台单位)。当我将它们设置回 True(默认值)时,所有警告都将转换为错误。当您更改警告列表中的任何默认值时,它就不再起作用了。我仍在寻找一种解决方案来全局禁用一些警告(对于整个项目),但将所有其他警告转换为错误。我不知道该怎么做...
    【解决方案2】:

    在相关说明中,如果您使用的是命令行编译器 (DCC32.exe),则开关为 -W^ 以将警告视为错误。如果您正在使用它,请务必注意 Windows 中的默认命令 shell (cmd.exe) 将插入符号 (^) 视为转义字符,因此如果您直接执行编译器,则必须使用 -W^^来自命令行、批处理文件,甚至来自 IDE 中的 Pre-Build 或 Post-Build 事件。

    还值得一提的是,您只能将某些警告视为错误。在命令行上执行此操作的开关如下所示:-W^^WARNING-NAME。您可以替换与您希望视为错误的警告相关联的字符串。

    【讨论】:

      【解决方案3】:

      关于 -W^ 在 BAT 文件中存在问题的观点很好。如果您直接修改编译行,则使用 -W^^ 有效。否则,我发现使用双引号“-W^”可以工作,例如在构建一个包含所有编译器参数的环境变量时,该环境变量随后被传递给 dcc32.exe。通过 XE、XE2、XE3、XE4 测试。

      SET CompilerParams=-B -M "-W^" -U"..\Source;%dcuoutdir%;%DUnitPath%" -I"..\Source\inc" "-N0%dcuoutdir%" -DDebugMode
      "%dcc%bin\dcc32.exe" %FuTFolder%ADDTests.dpr %CompilerParams% -U"%FuTSource%" %ExtraPath32%>%DCCLogFilename%
      if errorlevel 1 %Alerter% %DCCLogFilename%
      

      【讨论】:

        猜你喜欢
        • 2010-10-09
        • 2011-01-05
        • 1970-01-01
        • 2012-01-13
        • 2022-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-05
        相关资源
        最近更新 更多