Domanda

Dopo aver installato Delphi XE2, provo il compilatore della riga di comando DCC32.exe per compilare un semplice programma:

program test;

uses SysUtils;

begin
end.

Il compilatore della riga di comando mi mostra l'errore:

C:> dcc32.exe test.dpr
Embarcadero Delphi per il compilatore Win32 versione 23.0 Copyright (C) 1983.2011 Embarcadero Technologies, Inc.
Test.dpr (3) Fatale: file f1026 non trovato: 'sysutils.dcu'

Questo non accade a Delphi XE.

È stato utile?

Soluzione

Se si desidera solo utilizzare la riga di comando (senza DCC32.CFG), il parametro della riga di comando che stai cercando è -ns per specificare gli spazi dei nomi da cercare in ...

Quindi, avresti qualcosa di simile:

dcc32.exe -NSsystem;vcl test.dpr

Questo dovrebbe far cercare al compilatore unità in System e VCL spazi dei nomi (VCL aggiunti per mostrare come aggiungere più di uno spazio dei nomi).

Queste informazioni sono state trovate sul file Forum di discussione Embarcadero. Non ho ancora XE2, quindi non ho potuto provarlo.

Altri suggerimenti

A causa delle nuove spazi dei nomi in RTL e VCL è necessario specificare un parametro della riga di comando aggiuntiva al compilatore. Prova "-nSsystem; System.win; winapi; vcl; vcl.imaging; dati" e aggiungi altri spazi dei nomi secondo necessità.

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

Il comando build dovrebbe apparire così:

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

Se lo stai costruendo da uno script batch, dovrai assicurarti che possa vedere la destra msbuild. Fai cosi:

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

Se si utilizza un PC o un laptop Hewlett Packard, probabilmente dovrai rimuovere l'impostazione dell'ambiente "piattaforma" (in Windows). HP Windows7 preconfigurato (fabbrica) ha (per ragioni sconosciute a me) una piattaforma variabile di ambiente = anycpu. Ciò colpisce Delphi XE2. Ho trovato questa discussione ieri sera, che mi ha aiutato:https://forums.embarcadero.com/thread.jspa?messageid=387525&tstart=0Senza quella correzione, non sono stato in grado di compilare nulla. Sarebbe soffocato su VCL e Firemonkey, non importava se avessi preso di mira 64 o 32 bit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top