![]() |
Error beim kompilieren via Kommandozeile
Hey Leute,
ich bekomme einen seltsamen Fehler beim kompilieren über die Kommandozeile: Fatal: F2084 Internal Error: DEP396 Und ich habe keine Ahnung warum. Aus dem einzigen Google-Eintrag, den ich gefunden habe, bin ich nicht schlau geworden. Ich hoffe, ihr könnt mir helfen. |
Re: Error beim kompilieren via Kommandozeile
Hast du älteres Delphi und Vista oder neuer? Die Commandozeilencompiler ältere Delphi-Versionen haben "Macken" da sie nicht DEP-Kompatible sind und je nach Quellcode "komisches" verhalten zeigen.
|
Re: Error beim kompilieren via Kommandozeile
Also ich nutze den Kommandozeilencompiler von Delphi 2006 (Version 18). Als System nutze ich Windows XP Professional.
|
Re: Error beim kompilieren via Kommandozeile
*push*
|
Re: Error beim kompilieren via Kommandozeile
passiert das auch bei einem leeren Projekt?
Kannst du das richtige Projekt mit Delphi selber kompilieren? |
Re: Error beim kompilieren via Kommandozeile
Ja ich kann das selbe Projekt mit Delphi richtig kompilieren.
Ebenso können andere Projekte via Kommandozeile fehlerfrei kompiliert werden. |
Re: Error beim kompilieren via Kommandozeile
Hat das Komandozeilen Tool Adminrechte? Wenn nein vielleicht mal testen ...
Nutzt du in dem Projekt irgendwelche fremdkomponenten? Wenn ja welche? |
Re: Error beim kompilieren via Kommandozeile
adminrechte? was genau meinst du damit??? also ja es darf .dcus etc. anlegen.
Fremdkomponenten nein Ich habe den Compiler samt Projekt sowie abhängigkeiten und Units auf einen anderen Rechner gezogen und jetzt hats funktioniert. |
Re: Error beim kompilieren via Kommandozeile
so es ist wieder auf getreten bei einem anderen Projekt:
die Fremdkomponenten sind: SynEdit tplockbox und adminrechte...kp was du meinst, aber ich glaube die hat es nicht! EDIT: Ich kann das gleiche Projekt sobald es in einem anderen Ordner liegt kompilieren ohne einen Fehler. EDIT2: Kompiliere ich das Projekt ohne den --depends Schalter so funktioniert es auch an dem Ort, wo es ohne nicht geht. |
Re: Error beim kompilieren via Kommandozeile
Wie lautet der originale Verzeichnisname und wie lautet der Ausgabeverzeichnisname und wie liegt dieser in Relation zu dem Basisverzeichnis des Projektes? Kannst du die .dproj (also die XML Projektdatei) mal anhängen?
Ist eine BDS Environmentvariable deklariert in der Konsole wo das build abläuft? |
Re: Error beim kompilieren via Kommandozeile
Also in Delphi 2006 gibt es nur die .dpr-Dateien. Die .dproj wurden erst mit Delphi 2007 eingeführt.
Das Augabeverzeichnis ist das Standardausgabeverzeichnis. Das Projektverzeichnis liegt auf demselben PC in dem selben Teil der Festplatte (C:\) in einem Unterordner, während das Ausgabeverzeichnis in C:\Programme\Borland\BDS\... Ich starte über die Kommandozeile nutze also den Kommandozeilencompiler, der all das kann, was das BDS auch kann. Die Environmentvariablen werden im Projekt gespeichert und somit wird das Projekt genau so kompiliert, wie im BDS auch. |
Re: Error beim kompilieren via Kommandozeile
Zitat:
Zitat:
|
Re: Error beim kompilieren via Kommandozeile
Na dann hier die .dpr:
Delphi-Quellcode:
Die .bdsproj wird beim kompilieren gar nicht verwendet (zumindest wenn man es, wie ich über die Kommandozeiele macht)
program BigBrother;
uses //MWHeapChecker, Forms, BigBrotherF in 'BigBrotherF.pas' {BigBrotherForm}, OsirisD in 'OsirisD.pas', OsirisC in 'OsirisC.pas', ApplicationD in 'ApplicationD.pas', ConfigF in 'ConfigF.pas' {ConfigForm}, AppConfigD in 'AppConfigD.pas'; {$R *.RES} begin Application.Initialize; Application.CreateForm(TBigBrotherForm, BigBrotherForm); Application.Run; end. Verzeichnisname: C:\perforce\user\depot\Tools\BigBrother Ausgabeverzeichnis: C:\Programme\Borland\BDS\4.0\Output |
Re: Error beim kompilieren via Kommandozeile
Zitat:
Oder nutzt du das make Tool von Borland was genau dafür vorgesehen ist? Wenn letzteres wird sehr wohl die .bdsproj genommen, von dort holt er sich die entsprechenden Compiereinstellungen etc. |
Re: Error beim kompilieren via Kommandozeile
Ne, ich nutze den mitgelieferten Compiler dcc32.exe, der einfach über der .dpr aufgerufen wird.
Die IDE benutzt die zugehörige dll: dcc100.dll (oder so ähnlich) Diese sind insofern identisch, als sie dasselbe tun. |
Re: Error beim kompilieren via Kommandozeile
Der DCC32 direkt nutzt nicht die Einstellungen, das ist richtig. Aber der hat noch andere Unzulänglichkeiten und man muss ihn entsprechend mit einer gut langen Kommandozeilenkette füttern. Die Benutzung von make wäre da ja schon eine Möglichkeit, da sich dieses vorher auch um die Bereitstellung der nötigen Umgebung für den dcc kümmert. Schonmal alternativ probiert?
Und wurden die intermediates vor jedem Versuch gelöscht? Also vor allem in Bezug auf die Aussage, dass es im anderen Verzeichnis funktioniert und im anderen nicht. |
Re: Error beim kompilieren via Kommandozeile
Mir fehlen hier einige wichtige Hinweise. Vor allem bezüglich der CFG-Dateien. DCC32 verwendet diese und dabei sind die Prioritäten wichtig. Zuerstmal kommen die : Programmname.CFG im Verzeichnis der DPR. Dann gibts noch eine DCC32.cfg und wird benutzt, sofern keine Programmname.cfg existiert. Dazu kommen noch die in Windows eingestellten Suchpfade. Und zu allem Überfluss hat das alles mit den in der IDE eingestellten Sachen nichts zu tun. Lösche am besten die ganzen CFGs und erzeuge sie neu.
|
Re: Error beim kompilieren via Kommandozeile
Nein mit make habe ich mich noch nicht beschäftigt! Eigentlich bis jetzt nur mit dem dcc32. Wichtig wäre es aber auf jeden Fall, dass ich das dann auch auf anderen unabhängigen Rechnern neu erzeugen kann ohne IDE und wenn nur die Suchpfade gesetzt (und kopiert) sind.
Also damit meine ich, dass ich dann das Projekt auf anderen Rechnern kompilieren kann, die nur die entsprechenden Sourcen besitzen. Ich nehme an mit den Intermediates meinst du Dinge wie die .drc und .dcu - Dateien. Ja die werden vorher gelöscht. Die cfgs habe ich gelöscht und neu erzeugt und es gibt keine Veränderung. Wie gesagt was ich seltsam finde ist, dass offenbar der --depends Schalter für diesen internen Error verantwortlich ist. Der ist aber für meinen Use-Case nötig. |
Re: Error beim kompilieren via Kommandozeile
Zitat:
Sorry für den späten push, aber stolpert ja nochmal jemand anderes über dieses Problem. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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