![]() |
Kompilieren mit Kommandozeilenkompiler
Ich habe mir ein kleines Make-Script geschriben, um das Kompilieren etwas zu vereinafchen:
Code:
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?
@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 |
Re: Kompilieren mit Kommandozeilenkompiler
Per Kommanodzeilencompiler mußt du ihm teilweise Suchpfade mitgeben, da er die IDE-Einstellungen nicht kennt.
|
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. |
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:
|
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.
|
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. |
Re: Kompilieren mit Kommandozeilenkompiler
Siehe oben. ;)
|
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)! |
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 16:25 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