Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Kompilieren mit Kommandozeilenkompiler (https://www.delphipraxis.net/94506-kompilieren-mit-kommandozeilenkompiler.html)

Luckie 22. Jun 2007 12:08


Kompilieren mit Kommandozeilenkompiler
 
Ich habe mir ein kleines Make-Script geschriben, um das Kompilieren etwas zu vereinafchen:
Code:
@echo off
echo Kompilieren der Ressourcen...
echo =============================
rcstamp res\ver.rc *.*.*.+
brcc32 res\ver.rc ver\-fover.res
echo.
echo Loeschen alter kompilierte Units...
echo ===================================
del /s *.dcu
echo.
echo Kompilieren der Anwendung...
echo.
dcc32 DWFotoBook.dpr
echo.
echo Loeschen der temporaeren Dateien und der kompilierten Units...
echo ==============================================================
del /s *.~*
del /s *.dcu
echo.
set /P CHS=Programm starten mit beliebiger Taste. Beenden mit "E":
if /I "%CHS%"=="E" goto :ENDE

start ..\~bin\DWFotoBook.exe

:ENDE
Das komische ist, in der Kommandozeile findet er manche Units nicht und kann dann natürlich nicht kompilieren. Kompiliere ich es mit der IDE geht es ohne Probleme. Woran liegt das?

Bernhard Geyer 22. Jun 2007 12:11

Re: Kompilieren mit Kommandozeilenkompiler
 
Per Kommanodzeilencompiler mußt du ihm teilweise Suchpfade mitgeben, da er die IDE-Einstellungen nicht kennt.

Luckie 22. Jun 2007 12:13

Re: Kompilieren mit Kommandozeilenkompiler
 
Oh. Und wie mache ich das? Kann ich die irgendwie in eine Datei schreiben oder so?

Aber in der IDE habe ich ein Output-Directory angegeben, was er auch nimmt, wenn er dann mal kompiliert. Also irgendwie scheint er doch Einstellungen von der IDE zu übernehmen.

bigg 22. Jun 2007 12:20

Re: Kompilieren mit Kommandozeilenkompiler
 
Beim Borland C++ Compiler gibt es eine config-Datei die sich bcc32.cfg nennt. Dort konnte man die Pfade und das Ausgabeverzeichnis der Echsen festlegen. Dürfte für Delphi ähnlich sein.

Zitat:

Zitat von bcc32.cfg
"-I""E:\BCPP\Include\"
"-L""E:\BCPP\Lib\"
"-n""C:\Dokumente und Einstellungen\Supervisor\Desktop"
"-O"


Luckie 22. Jun 2007 12:24

Re: Kompilieren mit Kommandozeilenkompiler
 
Ich habe die Suchpfade jetzt auch mal bei den Projektoptionen eingetragen. Dann werden die Pfade auch in der cfg-Datei des Projektes eingetragen, die anscheinend der Kommadozeilenkompiler benutzt. Jetzt geht es.

Hansa 22. Jun 2007 12:27

Re: Kompilieren mit Kommandozeilenkompiler
 
Beinahe hätte ich nur geschrieben : F1 :P Aber bei Luckie macht man sowas nicht. :lol: Also : global ist die dcc32.cfg. Übersteuert wird die allerdings wenn so was vorhanden ist : MeinProg.cfg. Rest (also /I /U usw.) : F1. :mrgreen:

roter Kasten : ich glaube dadurch wird die besagte MeinProg.CFG angelegt. Guck mal danach. Ich glaube das mal selber so gemacht zu haben, um die IDE und DCC32 Versionen synchron zu halten.

Luckie 22. Jun 2007 12:29

Re: Kompilieren mit Kommandozeilenkompiler
 
Siehe oben. ;)

CCRDude 22. Jun 2007 12:38

Re: Kompilieren mit Kommandozeilenkompiler
 
Die Projektdatei.cfg zu verwenden hat den imho deutlichen Nachteil, daß dabei auch Debug-Einstellungen und Zielpfade etc. übernommen werden, die man in der IDE gerade so zum testen verwendet hat, ich aber in meinem Buildsystem immer definitive Einstellungen will.
Daher geh ich hin, benutze eine im gleichen Verzeichnis liegende dcc32.cfg mit den gewünschten Einstellungen für das Skript, und benenne während des Build-Vorgangs die Projektdatei.cfg in meinem Skript um.

Noch eine Stolperfalle: dcc32 muss scheinbar immer in dem Verzeichnis aufgerufen werden, in dem die .dpr liegt. Ein dcc32 projekt\projekt.dpr funktioniert zwar, doch trotz eines Build kompiliert es etliche Units nicht(!) neu (d.h. es findet die .dcu im gleichen Ordner wie die .pas, rekompiliert die .pas aber nicht)!

Robert Marquardt 22. Jun 2007 12:40

Re: Kompilieren mit Kommandozeilenkompiler
 
Am besten den JVCL-Installer anschauen. Der kennt alle Tricks und Probleme des Kommandozeilen-Compilers.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:59 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