Delphi 2009 где опция «обрабатывать предупреждения как ошибки»? - PullRequest
15 голосов
/ 06 ноября 2008

В Delphi 2009 вы включаете опцию обработки предупреждений как ошибок?

Ответы [ 3 ]

19 голосов
/ 06 ноября 2008

Только что нашел ответ вскоре после того, как я написал это! Может быть полезным для других людей.

Перейдите к «Project -> Options - > Delphi Compiler -> Hints and Warnings» и измените значение «Output Warnings» на «as errors»

Я искал вариант, аналогичный тому, который есть в Visual Studio

13 голосов
/ 12 декабря 2008

В соответствующей заметке, если вы используете компилятор командной строки (DCC32.exe), параметр -W ^ используется для того, чтобы предупреждения обрабатывались как ошибки. Если вы используете это, важно отметить, что командная оболочка по умолчанию в Windows (cmd.exe) обрабатывает символ вставки (^) как escape-символ, поэтому вместо него следует использовать -W ^^, если вы выполняете компилятор напрямую из командной строки, пакетного файла или даже из событий Pre-Build или Post-Build в IDE.

Стоит также упомянуть, что вы можете рассматривать только определенные предупреждения как ошибки. Переключатель для этого в командной строке будет выглядеть примерно так: -W ^^ WARNING-NAME. Вы должны заменить строку, связанную с предупреждением, которое вы хотите, чтобы рассматривать как ошибку.

2 голосов
/ 13 апреля 2013

Вопрос о том, что -W ^ проблематичен в файлах BAT, является хорошим. Использование -W ^^ работает, если вы изменяете строку компиляции напрямую. В противном случае я обнаружил, что использование окружающих двойных кавычек «-W ^» работает, например, при создании env var, который содержит все параметры компилятора, этот env var впоследствии передается в 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%
...