Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.362 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Indy-Installation funktioniert nicht

  Alt 18. Mär 2023, 14:25
Ich bin kein Experte für MSBUILD, aber logischerweise müsste es doch möglich sein, nur jene Pfade zu übergeben, welche die benötigten Units enthalten.
Nein, denn der Compiler ermittelt diese ja, indem er die Units durchgeht und schaut, welche anderen Units diese wiederum benötigen. Außerdem stehen natürlich noch welche im Package.
Das hat aber nicht damit zu tun, ob MSBuild den Compiler aufruft oder Delphi selbst.

Wenn das nicht möglich ist, dann ist die Verwendung von MSBUILD zur Installation von Delphi Packages schlichtweg das falsche Werkzeug. Viele Komponenten-Hersteller verwenden für die Installation ihrer Komponenten-Packages nicht MSBUILD - und dort funktioniert es AUSGEZEICHNET!
Das ändert nichts daran, dass die Befehlszeile trotzdem zu lang ist. Das siehst du auch in der Delphi IDE. Wenn du ein Projekt kompilierst, siehst du dort die Befehlszeile, die verwendet wird. Auch dort werden alle Pfade übergeben. Einfach weil es schlicht logisch nicht anders geht.
Das hat mit MSBuild nichts (!) zu tun. Das ist nur ein schönes Tool, damit man die dcc32.exe nicht selbst aufrufen muss.

In Delphi sieht das dann in den Meldungen z.B. so aus:
Zitat:
Der Buildvorgang wurde am 18.03.2023 15:20:35 gestartet.
__________________________________________________
Projekt F:\Embarcadero\Studio\Projekte\Project161.dproj (Build-Ziel(e)):
BuildVersionResource-Ziel:
c:\program files (x86)\embarcadero\studio\21.0\bin\cgrc.exe -c65001 Project161.vrc -foProject161.res
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 "Project161.vrc" wird gelöscht.
Die Datei "Project161.$manifest" wird gelöscht.
_PasCoreCompile-Ziel:
c:\program files (x86)\embarcadero\studio\21.0\bin\dcc32.exe -$O- -$W+ --no-config -B -Q -TX.exe -AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults;WinType s=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes= BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\Win32\Debug -I"c:\program files (x86)\embarcadero\studio\21.0\lib\Win32\debug\DE". ..
Da folgen dann die eingetragenen Pfade.

Das Problem ist wie schon geschrieben, dass du zu viele Pfade eingetragen hast oder diese zu lang sind. Dafür kann weder Delphi noch MSBuild etwas. Du müsstest diese einfach mal aufräumen...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat