Delphi XE2: Falha usando DCC32.exe para compilar um programa simples
-
27-10-2019 - |
Pergunta
Depois de instalar o Delphi XE2, eu tento comando do compilador linha DCC32.exe para compilar um programa simples:
program test;
uses SysUtils;
begin
end.
A linha de comando do compilador mostra mim erro:
c:> DCC32.exe test.dpr
Embarcadero Delphi para Win32 compilador versão 23.0 Copyright (c) 1983,2011 Embarcadero Technologies, Inc.
test.dpr (3) Fatal: F1026 Arquivo não encontrado: 'SysUtils.dcu'
Isto não acontecer com Delphi XE.
Solução
Se você só quer usar a linha de comando (sem dcc32.cfg), a linha de comando parâmetro que você está procurando é NS para especificar os namespaces de pesquisa em ...
Assim, você teria algo parecido com isto:
dcc32.exe -NSsystem;vcl test.dpr
Isso deve fazer o olhar do compilador para unidades nos System
e VCL
namespaces (VCL adicionado para mostrar como acrescentar mais de um namespace).
Esta informação foi encontrada no Embarcadero Fóruns de Discussão . Eu ainda não têm XE2 então eu não poderia testá-lo.
Outras dicas
Devido aos novos namespaces na RTL e VCL que você tem que especificar um parâmetro de linha de comando adicionais para o compilador. Tente "-NSSystem; System.Win; WinAPI; Vcl; Vcl.Imaging; Data". E adicionar outros namespaces conforme necessário
Eu sei que não é a resposta para a sua pergunta direta (Uwe e Nat tem que cobria), mas você seria muito melhor edifício com msbuild. Dessa forma, você vai pegar todas as configurações no seu .dproj arquivo.
O comando de compilação deverá ser parecido com este:
msbuild test.dproj /t:Rebuild /p:Config=Release
Se você está construindo este a partir de um script em lotes, você precisa se certificar de que pode ver a msbuild
direita. Fazê-lo como este:
call "path\to\delphi\installation\bin\rsvars.bat"
msbuild test.dproj /t:Rebuild /p:Config=Release
If you are using an Hewlett Packard PC or Laptop, you will probably need to remove the "Platform" environment setting (in windows). The Pre-configured (factory) HP windows7 has (for reasons unknown to me) an environment variable Platform=AnyCPU. This affects Delphi XE2. I found this discussion last night, which helped me: https://forums.embarcadero.com/thread.jspa?messageID=387525&tstart=0 Without that fix, I was unable to compile ANYTHING. It would choke on VCL and FireMonkey, didn't matter if I targeted 64 or 32-bit.