Entwickler-Ecke

Sonstiges (Delphi) - dcc32 Project1.dpr mit Pfadangabe zu einer *.dcu


trm - So 08.05.11 14:18
Titel: dcc32 Project1.dpr mit Pfadangabe zu einer *.dcu
Hi,

wenn ich mein Project per Commandozeile dcc32 Project1.dpr kompiliere, benötigt dcc32 weitere dcu, die in einem anderen Verzeichnis liegen. Diese dcu sind im Prinzip registrierte Komponenten.

Wenn ich diesen Pfad nun komplett zu %PATH% hinzufühe, findet dcc32 dennoch die benötigten dcu nicht.

Hat jemand einen Tipp, wiran es liegt?

Gruß Mathias


jaenicke - So 08.05.11 14:51

Benutze einfach mein entsprechendes Tool, das liest die Daten einfach aus der Delphiinstallation aus:
http://www.delphi-forum.de/viewtopic.php?t=41748

Zu %PATH% hinzufügen? Was soll das bringen? Es geht doch um keine ausführbaren Dateien, die Windows sucht, sondern um die Dateien, die Delphi suchen soll. Und dafür gibt es den Such- und Bibliothekspfad von Delphi, das hat mit den Systempfaden nix zu tun.

Natürlich kannst du die Pfade auch manuell an die dcc32.exe übergeben, mehr macht das Tool ja auch nicht.


turboPASCAL - So 08.05.11 18:27

Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Auch wenn das Tool klasse ist, ich nutze bei vielen nonVCL-Projekten ein einfaches Batch-Script "BUILD.CMD" :


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
@ECHO OFF

CLS

REM // App.-Settings ( ohne Datei - Extension !) //
SET APPNAME=Test
SET RESNAME=_res\resources


REM // Delphipath //
rem SET DELPHI5=C:\Programme\Borland\Delphi5
SET DELPHI6=C:\Program Files\Borland\Delphi6
rem DELPHI8=C:\Program Files\Embarcadero\RAD Studio\8.0\bin\

REM // Filephats //
SET UNITDIRS=_units;
SET UNITDIRS=%UNITDIRS%%DELPHI6%\Projects\myPackages\PngImage;
SET UNITDIRS=%UNITDIRS%%DELPHI6%\Projects\myPackages\XPMan;
SET UNITDIRS=%UNITDIRS%%DELPHI6%\Projects\myPackages\CoolTrayIcons;

IF EXIST %RESNAME%.rc (
ECHO Make %RESNAME%-Resources...
ECHO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BRCC32 -v %RESNAME%.rc
ECHO.
) ELSE (
ECHO No Resources aviable or found.
ECHO.
)

ECHO Create/Build Application: 
ECHO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rem Beispiel für den Aufruf mit Symbolen:
rem DCC32 -$O+ -$R+ -$I+ -U"%UNITDIRS%" -D$DEBUG;$DELPHI9UP TheMatrixFX.dpr
rem
rem
"%DELPHI6%\Bin\DCC32.EXE" -$O+ -$R+ -$I+ -U"%UNITDIRS%" %APPNAME%.dpr 
ECHO.

PAUSE


jaenicke - So 08.05.11 19:03

Dass das geht, ist klar. Der Nachteil ist, dass du die Pfade auf jedem Rechner explizit korrekt in allen Batchdateien einstellen musst. ;-)

Das Tool liest die hingegen aus der Registry aus, so dass es für alle Projekte reicht die Pfade dort einzustellen, was man ja ohnehin macht.