Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi-Compiler vs. Kommandozeilencompiler & Umgebungsvariablen (https://www.delphipraxis.net/198311-delphi-compiler-vs-kommandozeilencompiler-umgebungsvariablen.html)

colaflasche 23. Okt 2018 12:13

Delphi-Compiler vs. Kommandozeilencompiler & Umgebungsvariablen
 
Guten Tag!

Ich habe meine Komponenten hier in diversen Unterordnern liegen:
C:\delphi\10\source\asdf-package\
Im Bibliothekspfad steht das als:
$(BDS)\source\asdf-package\

Da mein Bibliothekspfad recht lang geworden ist habe das noch mal abgekürzt und eine Umgebungsvariable namens 'asfd' angelegt. Diese verweißt auf 'C:\delphi\10\source\asdf-package\'. Somit habe ich in meinem Bibliothekspfad das stehen:
$(asdf)\

Mein Projekt kann ich so wunderbar über die IDE kompilieren.
Wenn ich das ganze über die Kommandozeile kompilieren will geht das aber nicht. Er findet die Units nicht, die dort liegen.
Ich habe die Umgebungsvariable in den Windows-Umgebungsvariablen angegeben, aber auch in meiner Batch-Datei gesetzt:

@SET asdf=C:\delphi\10\source\asdf-package\

Sowohl mit @, als auch ohne. Ich kannte es bisher nur ohne, in der rsvars.bat wird es aber mit @ gemacht, daher habe ich beides probiert.

Hat jemand eine Idee, wie ich meinen verkürzten Bibliothekspfad auch im Kommandozeilencompiler verwenden kann?

Gruß Jan

Whookie 23. Okt 2018 12:29

AW: Delphi-Compiler vs. Kommandozeilencompiler & Umgebungsvariablen
 
Zum Beispiel so:

>msbuild myapplication.dproj /t:Build /p:config=Release /p:platform=Win64


Dann werden alle Anhängigkeiten und Pfade aus dem Projekt übernommen.
Natürlich müssen die Pfade passen (zu msbuild, zur myapplication) und rsvars.bat muss auch vorher aufgerufen werden.

Dalai 23. Okt 2018 15:13

AW: Delphi-Compiler vs. Kommandozeilencompiler & Umgebungsvariablen
 
Nur zur Info: Das führende @ sorgt nur dafür, dass diese Befehlszeile nicht ausgegeben werden soll, egal welchen Zustand das Echo auf der CMD hat (an oder aus). Auf die Ausführung der Befehlszeile hat das @ keinen Einfluss. Beispiel:
Code:
@set a=Du siehst mich nicht
ist gleichbedeutend - zumindest was die Ausgabe der einen Befehlszeile anbelangt - mit
Code:
@echo off
set a=Du siehst mich immer noch nicht
und auch gleichbedeutend mit
Code:
@echo on
@set a=Guck nicht so, hier gibt's weiterhin nichts zu sehen
Das ist auch der Grund, warum in Batchskripten sehr häufig am Anfang die Zeile
Code:
@echo off
zu finden ist: Damit einerseits das Echo ausgeschaltet wird und andererseits die Ausgabe eben dieses Befehls nicht zu sehen ist.

Grüße
Dalai

colaflasche 23. Okt 2018 15:32

AW: Delphi-Compiler vs. Kommandozeilencompiler & Umgebungsvariablen
 
Danke für den Tipp und danke für die Aufklärung, nun habe ich das auch verstanden :)!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 Uhr.

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