![]() |
Embacadero Studio & MSBuild
Hallo,
ich versuche ein Delphi Projekt (dproj & groupproj) mit MSBuild zu kompilieren. Öffne ich die dproj-Datei im Studio und compiliere dort, dann funktioniert alles fehlerfrei. Rufe ich aber das Projekt mit MSBuild (Powershell) auf:
Code:
dann erhalte ich einen Compilerfehler (E2030 & F2063). Der Fehler ist "duplicated case label", da es aber innerhalb des Studios compiliert, kann ich den Fehler nicht nachvollziehen.
msbuild /p:Config=Release,Platform=Win32 /t:Clean,Build .\MyPorj.dproj
Der Compileraufruf ist identisch auch die Bibliothekspfade stimmen überein. Das was unterschiedlich ist, ist die Build-Reihenfolge der pas-Dateien bzw. Warnungen die ausgegeben werden. Es scheint so als ist innerhalb des Embacadero Studios eine andere Buildreihenfolge gesetzt als bei MSBuild, obwohl beide auf der gleichen dproj-Datei basieren Hat jemand vielleicht bitte einen Tipp / Idee, wie ich das Problem fixen könnte Danke |
AW: Embacadero Studio & MSBuild
Die rsvars.bat hast du aber direkt vorher in der Shell ausgeführt?
Ich habe es nie mit /t:Clean,Build versucht, immer nur mit /t:Build. Bei uns sieht das z.B. so aus: Zitat:
Und ansonsten würde ich die .dproj einmal neu erstellen. |
AW: Embacadero Studio & MSBuild
Zitat:
Code:
Bei dem Ö bricht bei MSBuild der Compiler, im Studio nicht. Es sieht aus als würde MS Build die Dateien mit einem anderen Encoding verarbeiten als das Studio
case Characters[i] of
'A'..'Z': begin Characters[i] := lowercase(Characters[i])[1]; end; //Umlaute: 'Ü': begin Characters[i] := 'ü'; end; 'Ö': begin Characters[i] := 'ö'; end; 'Ä': begin Characters[i] := 'ä'; end; end; |
AW: Embacadero Studio & MSBuild
Welchen Datentyp hat characters?
|
AW: Embacadero Studio & MSBuild
Zitat:
|
AW: Embacadero Studio & MSBuild
Testprogramm:
Delphi-Quellcode:
Aufruf msbuild:
program CharactersMSBuild;
{$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; begin var Characters := 'ABCDE'; var I: Integer; for I := 1 to Length(Characters) do case Characters[i] of 'A'..'Z': begin Characters[i] := lowercase(Characters[i])[1]; end; //Umlaute: 'Ü': begin Characters[i] := 'ü'; end; 'Ö': begin Characters[i] := 'ö'; end; 'Ä': begin Characters[i] := 'ä'; end; end; end.
Code:
Ergebnis:
rsvars
msbuild /p:Config=Release,Platform=Win32 /t:Clean,Build .\CharactersMsBuild.dproj Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr. |
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