2011-09-07 12 views
8

Después de instalar Delphi XE2, trato de línea de comandos del compilador DCC32.exe para compilar un programa simple:Delphi XE2: fallar utilizando DCC32.exe para compilar un programa simple

program test; 

uses SysUtils; 

begin 
end. 

El compilador de línea de comandos muéstrame error:

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'

Esto no le sucede a Delphi XE.

Respuesta

28

Si lo que desea es utilizar la línea de comandos (sin dcc32.cfg), el parámetro de línea de comandos que busca es -NS para especificar los espacios de nombres para buscar en ...

Por lo tanto, tendría algo como esto:

dcc32.exe -NSsystem;vcl test.dpr 

esto debería hacer que el compilador para unidades en los System y VCL espacios de nombres (VCL añadió para mostrar cómo anexar más de un espacio de nombres).

Esta información se encontró en Embarcadero Discussion Forums. Todavía no tengo XE2, así que no pude probarlo.

8

Sé que no es la respuesta a su pregunta directa (Uwe y Nat tienen eso cubierto), pero sería mucho mejor construir con msbuild. De esta forma, recuperará todas las configuraciones en su archivo .dproj.

El comando de construcción debe tener este aspecto:

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

Si usted está construyendo esto desde una secuencia de comandos por lotes, que necesita para asegurarse de que puede ver a la derecha msbuild. Hacerlo de esta manera:

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

¿Cómo se crea el dproj? Supongo que desde que compila en la línea de cm no quería iniciar Delphi para eso. –

+1

@Marco .dproj es parte del código fuente en versiones recientes de Delphi. Lo mantiene el IDE y contiene las configuraciones de tu proyecto. –

+1

No entiendo tu punto. Es para un proyecto estándar (GUI) sin duda, pero para casos comunes no regresas a la línea de comando. –

13

Debido a los nuevos espacios de nombres en la RTL y la VCL tiene que especificar un parámetro de línea de comandos adicional para el compilador. Pruebe "-NSSystem; System.Win; WinAPI; Vcl; Vcl.Imaging; Data" y agregue otros espacios de nombres según sea necesario.

-1

Si está utilizando una PC o computadora portátil Hewlett Packard, es probable que deba eliminar la configuración del entorno "Plataforma" (en Windows). El HP Windows 7 preconfigurado (de fábrica) tiene (por razones desconocidas para mí) una variable de entorno Platform = AnyCPU. Esto afecta a Delphi XE2. Encontré esta discusión anoche, que me ayudó: https://forums.embarcadero.com/thread.jspa?messageID=387525&tstart=0 Sin esa corrección, no pude compilar NADA. Se ahogaría con VCL y FireMonkey, no importa si selecciono 64 o 32 bits.

+0

que solo se aplica al compilar archivos .dproj, no archivos .dpr, que no tienen especificaciones de plataforma en ellos. –

Cuestiones relacionadas