Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Fehler beim Compilieren mit MSBuild (https://www.delphipraxis.net/192457-fehler-beim-compilieren-mit-msbuild.html)

sko1 20. Apr 2017 12:20

AW: Fehler beim Compilieren mit MSBuild
 
Zum Thema cdd32 in der Batchdatei:

Ich habe vor Jahren verschiedene Programmversionen aus einem Source per Batchdatei erzeugen lassen und dabei die Befehlszeile dcc32 die im Radstudio angezeigt wird eben mehrfach angepasst kopiert per Batchdatei ausgeführt.

Der Eintrag einer einzigen Compilervariante sah in etwa so aus:

Zitat:

"c:\program files (x86)\embarcadero\rad studio\7.0\bin\dcc32.exe" -$R+ --no-config -B -Q -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;Db iProcs=BDE;DbiErrs=BDE -DDEBUG;madExcept;x-Fulldebugmode;x-Logmemoryleakdetailtofile;SQLx -I"c:\program files (x86)\embarcadero\rad studio\7.0\lib\DE";"C:\Delphicomponenten\TStringal igngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7 -LE"C:\Users\Public\Documents\RAD Studio\7.0\Bpl" -LN"C:\Users\Public\Documents\RAD Studio\7.0\Dcp" -NB"C:\Users\Public\Documents\RAD Studio\7.0\Dcp" -O"C:\Delphicomponenten\TStringaligngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7 -R"c:\program files (x86)\embarcadero\rad studio\7.0\lib\DE";"C:\Delphicomponenten\TStringal igngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7 -U"c:\program files (x86)\embarcadero\rad studio\7.0\lib\DE";"C:\Delphicomponenten\TStringal igngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7 -K00400000 -GD -NO"C:\Users\Public\Documents\RAD Studio\7.0\Dcp" Projekt.dpr
da gibt es scheinbar keinerlei Größenbeschränkungen!

Ciao
Stefan

jaenicke 20. Apr 2017 12:33

AW: Fehler beim Compilieren mit MSBuild
 
Zitat:

Zitat von ADelph (Beitrag 1368404)
Wie würde der kürzeste Aufruf von dcc32 im Batch aussehen können, wenn ich z.B. vorher rsvars.bat aufgerufen habe? Z.B. dcc32 Test.dproj? Probiert hab ich das, aber das bringt nur Fehler wie 'Ungültiges Zeichen...'.

Du musst die .dpr benutzen. Die dcc32.exe kann mit der .dproj nix anfangen.

Zitat:

Zitat von sko1 (Beitrag 1368406)
da gibt es scheinbar keinerlei Größenbeschränkungen!

Doch, aber bei 4096 Zeichen oder so. Das dürfte auch der Grund für diese erhöhte Beschränkung bei aktuellen Delphiversionen sein.

Zitat:

Zitat von Uwe Raabe (Beitrag 1368381)
In diesem Fall irrt die Doku offenbar :x

Die Doku stimmt schon. Das zusätzliche Zeichen ist das Semikolon zur Trennung.

Zitat:

Zitat von ADelph (Beitrag 1368404)
Wie würde der kürzeste Aufruf von dcc32 im Batch aussehen können, wenn ich z.B. vorher rsvars.bat aufgerufen habe?

Du musst da die Pfade mit angeben, deshalb ist das nicht so einfach.

Union 20. Apr 2017 12:59

AW: Fehler beim Compilieren mit MSBuild
 
Und es wird immer besser :D :
Delphi-Quellcode:
program Doesitcompile;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
  try
  // {$define ABCD-EFGH}    // Output: ABCD-EFGH, ABCD
  // defined within Options // Output: ABCD-EFGH, ABCD, EFHG
  {$ifdef ABCD-EFGH}
  writeln('ABCD-EFGH');
  {$endif}
  {$ifdef ABCD}
  writeln('ABCD');
  {$endif}
  {$ifdef EFGH}
  writeln('EFGH');
  {$endif}
  Readln;
end.

ADelph 20. Apr 2017 13:10

AW: Fehler beim Compilieren mit MSBuild
 
tz, dann sieht das ja fast so aus, als könne ich meine Versuche 'knicken'...denn ich habe immer wieder eine gewisse Anzahl von bedingten Abschnitten in meinen Programmen. Wenn ich mir das Beispiel von sko1 ansehe, dann ist das in etwa das, was ich auch probiert habe und dort dann im Batch an Grenzen gestoßen bin. Sehr seltsam das...:?...frage mich nur, warum das aus der IDE immer klappt...

Danke erstmal für die Hinweise!

Uwe Raabe 20. Apr 2017 14:02

AW: Fehler beim Compilieren mit MSBuild
 
Zitat:

Zitat von jaenicke (Beitrag 1368410)
Zitat:

Zitat von Uwe Raabe (Beitrag 1368381)
In diesem Fall irrt die Doku offenbar :x

Die Doku stimmt schon. Das zusätzliche Zeichen ist das Semikolon zur Trennung.

Ja, jetzt wo du es sagst, kann ich das auch so interpretieren. :thumb:

jbg 20. Apr 2017 14:22

AW: Fehler beim Compilieren mit MSBuild
 
Zitat:

Zitat von Union (Beitrag 1368413)
Und es wird immer besser :D :

Das Minuszeigen beendet den ersten Token und nur den nutzt der Compiler für die Auswertung. Somit ist {$ifdef ABCD-EFGH} und {$ifdef ABCD} für den Compiler identisch. Es wäre schön wenn der Compiler das als Warnung/Hinweis/Fehlermeldung ausgeben würde, tut er aber nicht. Du kannst auch {$ifdef ABCD ist mir doch egal} schreiben und bei {$define ABCD} wird das ganze als TRUE gewertet, da eben nur der erste Token zählt.

Dass das "ABCD-EFGH" durch die Options zu zwei Defines wird, liegt wohl am IDE Code der das Splitting macht.



Direkter DCC32.EXE Aufruf:
Man könnte auch einfach eine (alte) Projekt.cfg Datei neben der Projekt.dpr Datei anlegen und dort alles bis auf das "--no-config" und "Projekt.dpr" in Einzelzeilen schreiben.
Der Aufruf wäre dann einfach nur noch "DCC32.EXE Projekt.dpr"

Zitat:

-$R+
-B
-Q
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;Db iProcs=BDE;DbiErrs=BDE
-DDEBUG;madExcept;x-Fulldebugmode;x-Logmemoryleakdetailtofile;SQLx
-I"c:\program files (x86)\embarcadero\rad studio\7.0\lib\DE";"C:\Delphicomponenten\TStringal igngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7
-LE"C:\Users\Public\Documents\RAD Studio\7.0\Bpl"
-LN"C:\Users\Public\Documents\RAD Studio\7.0\Dcp"
-NB"C:\Users\Public\Documents\RAD Studio\7.0\Dcp"
-O"C:\Delphicomponenten\TStringaligngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7
-R"c:\program files (x86)\embarcadero\rad studio\7.0\lib\DE";"C:\Delphicomponenten\TStringal igngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7
-U"c:\program files (x86)\embarcadero\rad studio\7.0\lib\DE";"C:\Delphicomponenten\TStringal igngrid 2010";"C:\Delphicomponenten\Virtual Treeview\Source";"C:\Delphicomponenten\TCPort 4.00\source";C:\Delphicomponenten\tXLSFile;"C:\Del phicomponenten\Devicechange Komponente";"C:\Delphicomponenten\ICS Mail\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010\compon";"C:\Delphicomponenten\Overbyte V7\Delphi\Vc32";"C:\Delphicomponenten\TEmail 2010";"C:\Delphicomponenten\ICS Mail\Delphi";"C:\Delphicomponenten\Overbyte V7\Delphi";"C:\Delphicomponenten\ICS Mail\Delphi\Internet";"c:\program files (x86)\embarcadero\rad studio\7.0\lib";"C:\Users\sko\Documents\RAD Studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Imports";"c:\program files (x86)\embarcadero\rad studio\7.0\Lib\Indy10";"C:\Users\Public\Documents\ RAD Studio\7.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\7.0\include";"c:\program files (x86)\embarcadero\rad studio\7.0\RaveReports\Lib";C:\madCollection\madBa sic\BDS7;C:\madCollection\madDisAsm\BDS7;C:\madCol lection\madExcept\BDS7;C:\madCollection\madExcept\ ..\Plugins;C:\madCollection\madRemote\BDS7;C:\madC ollection\madKernel\BDS7;C:\madCollection\madCodeH ook\BDS7;C:\madCollection\madSecurity\BDS7;C:\madC ollection\madShell\BDS7
-K00400000
-GD
-NO"C:\Users\Public\Documents\RAD Studio\7.0\Dcp"


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 Uhr.
Seite 2 von 2     12   

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