versiones borland delphi compiler-construction delphi-2009

borland - delphi versions



Delphi 2009, ¿dónde está la opción "tratar las advertencias como errores"? (3)

¡Acabo de encontrar la respuesta pronto después de publicar esto! Puede ser útil para otras personas.

Vaya a '' Project -> Options - > Delphi Compiler -> Hints and Warnings '' y cambie el valor de '' Output Warnings '' a '' as errors ''

Estaba buscando una opción similar a la que tiene Visual Studio

En el paradero de Delphi 2009, ¿activa la opción para tratar las advertencias como errores?


En una nota relacionada, si está utilizando el compilador de línea de comandos (DCC32.exe), el interruptor es -W ^ para tener advertencias tratadas como errores. Si está utilizando esto, es importante tener en cuenta que el shell de comandos predeterminado en Windows (cmd.exe) trata el símbolo de intercalación (^) como un carácter de escape, por lo que debe usar -W ^^ si está ejecutando el compilador directamente desde la línea de comandos, un archivo de proceso por lotes o incluso desde los eventos Pre-Build o Post-Build en el IDE.

También vale la pena mencionar que solo se pueden tratar ciertas advertencias como errores. El cambio para hacer esto en la línea de comando se vería así: -W ^^ WARNING-NAME. Debería sustituir la cadena que está asociada con la advertencia que desea tratar como un error.


El hecho de que -W ^ sea problemático dentro de los archivos BAT es bueno. El uso de -W ^^ funciona si está modificando la línea de compilación directamente. De lo contrario, descubrí que el uso de comillas dobles circundantes "-W ^" funciona, por ejemplo cuando se construye un env var que contiene todos los parámetros del compilador, que env var se pasa posteriormente a dcc32.exe. Probado con 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%