2008-11-06 8 views

Répondre

18

Je viens de trouver la réponse après avoir posté ceci! Cela pourrait être utile pour d'autres personnes.

Naviguer vers « Project -> Options - > Delphi Compiler -> Hints and Warnings » et changer la valeur de « Output Warnings » à « as errors »

que je cherchais une option similaire à ce que Visual Studio a

+0

J'avais regardé directement à cet écran mais n'ai jamais fait la liste déroulante pour voir l'option "comme erreurs". Quand j'ai vu True comme défaut, j'ai juste supposé que "Faux" était la seule autre option. Merci! –

11

Sur le même sujet, si vous utilisez le compilateur de ligne de commande (DCC32.exe) le commutateur est -W^pour avoir des avertissements traités comme des erreurs. Si vous utilisez ceci, il est important de noter que le shell de commande par défaut dans Windows (cmd.exe) traite le caret (^) comme un caractère d'échappement, donc vous devez utiliser -W ^^ à la place si vous exécutez le compilateur directement à partir de la ligne de commande, d'un fichier batch ou même des événements Pre-Build ou Post-Build dans l'EDI.

Il convient également de mentionner que certains avertissements ne peuvent être traités que comme des erreurs. Le commutateur pour faire cela sur la ligne de commande ressemblerait à ceci: -W ^^ WARNING-NAME. Vous devez remplacer la chaîne associée à l'avertissement que vous souhaitez traiter par une erreur.

0

Le point sur -W^étant problématique dans les fichiers BAT est un bon point. L'utilisation de -W ^^ fonctionne si vous modifiez directement la ligne de compilation. Sinon, j'ai trouvé que l'utilisation de guillemets doubles "-W ^" qui fonctionne, par exemple lors de la construction d'une variable env qui contient tous les paramètres du compilateur, cette variable var étant ensuite passée à dcc32.exe. Testé avec 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% 
Questions connexes