2011-09-07 14 views
8

Dopo l'installazione di Delphi XE2, cerco riga di comando del compilatore DCC32.exe per compilare un semplice programma:Delphi XE2: riuscire utilizzando DCC32.exe per compilare un semplice programma

program test; 

uses SysUtils; 

begin 
end. 

La riga di comando del compilatore mi mostri di errore:

c:> dcc32.exe test.dpr
Embarcadero Delphi for Win32 compiler version 23.0 Copyright (c) 1983,2011 Embarcadero Technologies, Inc.
test.dpr(3) Fatal: F1026 File not found: 'SysUtils.dcu'

Questo non succede a Delphi XE.

risposta

28

Se si desidera utilizzare la linea di comando (senza dcc32.cfg), il parametro di riga di comando che stai cercando è -NS per specificare gli spazi dei nomi per la ricerca in ...

Quindi, si dovrebbe qualcosa di simile:

dcc32.exe -NSsystem;vcl test.dpr 

questo dovrebbe rendere il look compilatore per unità nei System e VCL namespace (VCL aggiunto per mostrare come aggiungere più di uno spazio dei nomi).

Queste informazioni sono state trovate su Embarcadero Discussion Forums. Non ho ancora XE2 quindi non ho potuto testarlo.

8

So che non è la risposta alla tua domanda diretta (Uwe e Nat hanno coperto), ma sarebbe molto meglio costruire con msbuild. In questo modo raccogli tutte le impostazioni nel tuo file .dproj.

il comando build dovrebbe essere simile a questo:

msbuild test.dproj /t:Rebuild /p:Config=Release 

Se si sta costruendo questo da uno script batch, è necessario fare in modo che possa vedere il diritto msbuild. Fai in questo modo:

call "path\to\delphi\installation\bin\rsvars.bat" 
msbuild test.dproj /t:Rebuild /p:Config=Release 
+1

Come si crea il dproj? Presumo da quando ha compilato la cmdline che non voleva avviare Delphi per questo. –

+1

@Marco Il .dproj è parte del codice sorgente nelle versioni delphi recenti. È gestito dall'IDE e contiene le configurazioni del progetto. –

+1

Non capisco il tuo punto. È certamente per un progetto standard (GUI), ma per casi normali non si torna alla cmdline. –

13

A causa dei nuovi spazi dei nomi in RTL e VCL, è necessario specificare un ulteriore parametro della riga di comando per il compilatore. Prova "-NSSystem; System.Win; WinAPI; Vcl; Vcl.Imaging; Data" e aggiungi altri spazi dei nomi secondo necessità.

-1

Se si utilizza un PC o un laptop Hewlett Packard, sarà probabilmente necessario rimuovere l'impostazione dell'ambiente "Piattaforma" (in Windows). La HP Windows7 preconfigurata (di fabbrica) ha (per ragioni a me sconosciute) una variabile di ambiente Piattaforma = AnyCPU. Questo riguarda Delphi XE2. Ho trovato questa discussione la scorsa notte, il che mi ha aiutato: https://forums.embarcadero.com/thread.jspa?messageID=387525&tstart=0 Senza questa correzione, non ero in grado di compilare NULLA. Potrebbe soffocare su VCL e FireMonkey, non importa se ho preso a bersaglio 64 o 32 bit.

+0

Ciò vale solo per la compilazione di file .dproj, non di file .dpr, che non dispongono di specifiche di piattaforma. –