Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Compileroption um alle Warnungen als Fehler zu behandeln (https://www.delphipraxis.net/199737-compileroption-um-alle-warnungen-als-fehler-zu-behandeln.html)

Bernhard Geyer 15. Feb 2019 19:47

Compileroption um alle Warnungen als Fehler zu behandeln
 
Wir wollem am Build-System Warnungen als Fehler behandeln.
geht das auch ohne das man in der Projektkonfiguration alle Warnungen umstellt zu Fehler?

Im Einsatz ist 10.2.
Es würde auch genügen das über den MSBUILD-Aufruf steuern zu können.

Uwe Raabe 15. Feb 2019 21:59

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
In den Projektoptionen kannst du die Einstellung direkt bei Ausgabewarnungen einstellen und das gilt dann für alle Warnungen. Alternativ kannst du beim Aufruf des Compilers die Option -W^ angeben.

Bernhard Geyer 16. Feb 2019 20:52

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
Direkt bei den Ausgabewarnungen will ich es nicht. Es sollte über einen Schalter gehen ohne das ich erst hunderte Optionen umstellen muss.

Und bei "-W^" spielt msbuild nicht mit :-(

Uwe Raabe 16. Feb 2019 22:23

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1425758)
Direkt bei den Ausgabewarnungen will ich es nicht. Es sollte über einen Schalter gehen ohne das ich erst hunderte Optionen umstellen muss.

Aber Ausgabewarnungen ist doch nur ein einziger Schalter. Du sollst ja nicht jede Warnung unter Ausgabewarnungen umstellen, sondern nur den Wert direkt hinter Ausgabewarnungen!

Zitat:

Zitat von Bernhard Geyer (Beitrag 1425758)
Und bei "-W^" spielt msbuild nicht mit :-(

Wie kann das denn sein? Hast du eventuell die Anführungszeichen mit angegeben? Diese -W Option ist ein gültiger Kommandozeilenparameter für den Compiler. Warum sollte MSBuild da was dagegen haben? Wie äußert sich das denn genau?

Bernhard Geyer 18. Feb 2019 09:42

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
Diese Einstellung "Als Fehler" wird bei der Compilierung über MS-BUILD ignoriert :-(
Bei Compilerung aus der IDE würde es passen.

Und MSBUILD stört sich an den Parameter.
Hier müsste man ein "Durchschleifen" des Paramters haben
Zitat:

MSBUILD : error MSB1001: Unbekannter Schalter.
Schalter: -W)

Uwe Raabe 18. Feb 2019 10:01

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
Wie sieht denn der Aufruf von MSBuild aus? Wo gibst du den -W Parameter denn an?

Der muss natürlich an den DCC32 Aufruf übergeben werden. Mir ist auch nicht bekannt, daß das ^ eines der Zeichen ist, die bei MSBuild escaped werden müssen.

Bernhard Geyer 18. Feb 2019 10:11

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
War mein Versuch war jetzt naiv in dieser Art.

Code:
msbuild %1 /t:Build /p:config=%2 -W^
Wobei %1 = Verweis auf dproj-Datei
und %2 Release/Debug/...

Hab bei den MSBUILD-Schalter auch keinen gefunden mit dem man Parameter "durchschleifen" könnte.

Uwe Raabe 18. Feb 2019 10:32

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
Code:
msbuild %1 /t:Build /p:config=%2 -W^
Damit gibst du den -W Parameter an MSBuild und das kann damit natürlich nichts anfangen.

Ich kann das gerade nicht testen aber eventuell funktioniert ja einer dieser Ansätze:

Code:
msbuild %1 /t:Build /p:config=%2 /p:DCC_AdditionalSwitches=-W^
Code:
msbuild %1 /t:Build /p:config=%2 /p:DCC_Warnings=error

Bernhard Geyer 18. Feb 2019 12:31

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
Nr 1 - Fehlermeldung msbuild

Nr 2 - Wirkt nicht :-(

Uwe Raabe 18. Feb 2019 13:09

AW: Compileroption um alle Warnungen als Fehler zu behandeln
 
Die erste Version funktioniert hier, wenn ich den Parameter quote:
Code:
msbuild %1 /t:Build /p:config=%2 /p:DCC_AdditionalSwitches="-W^"
Die zweite funktioniert direkt:

Code:
c:\Users\Uwe\Documents\Embarcadero\Studio\Projekte>msbuild Project494.dproj /t:build /p:config=Release /p:DCC_Warnings=error
Microsoft (R)-Buildmodul, Version 3.5.30729.8931
[Microsoft .NET Framework, Version 2.0.50727.8937]
Copyright (C) Microsoft Corporation 2007. Alle Rechte vorbehalten.

Build started 18.02.2019 14:02:41.
Project "c:\Users\Uwe\Documents\Embarcadero\Studio\Projekte\Project494.dproj" on node 0 (build target(s)).
  CodeGear Resource Compiler/Binder
  Version 1.2.2 Copyright (c) 2008-2012 Embarcadero Technologies Inc.

  Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0

  Copyright (C) Microsoft Corporation. All rights reserved.


  Die Datei Project494.vrc wird gelöscht.
  Die Datei Project494.$manifest wird gelöscht.
_PasCoreCompile:
  Embarcadero Delphi for Win32 compiler version 32.0
  Copyright (c) 1983,2017 Embarcadero Technologies, Inc.
Unit385.pas(48): error E1036: Variable 'I' ist möglicherweise nicht initialisiert worden
Project494.dpr(5): error F2063: Verwendete Unit 'Unit385.pas' kann nicht compiliert werden
Done Building Project "c:\Users\Uwe\Documents\Embarcadero\Studio\Projekte\Project494.dproj" (build target(s)) -- FAILED.


Build FAILED.

"c:\Users\Uwe\Documents\Embarcadero\Studio\Projekte\Project494.dproj" (build target) (1) ->
(_PasCoreCompile target) ->
  Unit385.pas(48): error E1036: Variable 'I' ist möglicherweise nicht initialisiert worden
  Project494.dpr(5): error F2063: Verwendete Unit 'Unit385.pas' kann nicht compiliert werden

    0 Warning(s)
    2 Error(s)

Time Elapsed 00:00:00.61
Und es funktioniert auch, wenn die Einstellung in der IDE unter Ausgabewarnungen auf "als Fehler" eingestellt ist. Das macht nämlich auch nichts anderes als das DCC_Warnings zu setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz