Compilar manualmente com DCC32
Olá pessoal,
estou tentando compilar um código usando o dcc32.exe mas acontece
alguns erros que ainda não consigo resolver
o objetivo é fazer um programa que compile automaticamente alguns
programas
alguem pode colocar um exemplo
ficaria muito agradecido
estou tentando compilar um código usando o dcc32.exe mas acontece
alguns erros que ainda não consigo resolver
o objetivo é fazer um programa que compile automaticamente alguns
programas
alguem pode colocar um exemplo
ficaria muito agradecido
Miudo
Curtidas 0
Respostas
Aloizio Castro
15/02/2006
Kara, eu fiz um teste, da seguinte maneira:
e tudo ocorreu normalmente, gerando um arquivo biblioteca.dcu
qual eh o seu problema??
[b]c:\arquivos de programas\borland\delphi\bin>[/b] dcc32 biblioteca.pas
e tudo ocorreu normalmente, gerando um arquivo biblioteca.dcu
qual eh o seu problema??
GOSTEI 0
Miudo
15/02/2006
é que eu estou tentando compilar um dpr de uma dll
sua unidade usa outras units que já estão compiladas
eu coloco dcc32 -U<diretorios das unidades> nomedpr
ele diz que o dcu das outras unidades estão com uma versão diferente
da unidade principal
uTal.pas was compiled with a different version of uPrincipal.pas
eu não consigo resolver isso. se eu compilar unidade por unidade,
e depois compilar a dpr, funciona.
não sei qual o critério que ele toma para dar esse erro. fico com receio de ter que sempre recompilar um por um as unidades usadas.
sua unidade usa outras units que já estão compiladas
eu coloco dcc32 -U<diretorios das unidades> nomedpr
ele diz que o dcu das outras unidades estão com uma versão diferente
da unidade principal
uTal.pas was compiled with a different version of uPrincipal.pas
eu não consigo resolver isso. se eu compilar unidade por unidade,
e depois compilar a dpr, funciona.
não sei qual o critério que ele toma para dar esse erro. fico com receio de ter que sempre recompilar um por um as unidades usadas.
GOSTEI 0
Massuda
15/02/2006
Inclua um -B na sua linha de comando... isso faz com que o DCC32 compile todas as units envolvidas.
GOSTEI 0
Miudo
15/02/2006
resolvi algumas coisas
é o seguinte...
na dpr, quando tem a declaração das unidades, o formato é assim:
uTal in ´Tal.pas´
porém quando a unidade está uma pasta anterior a declaração fica
uTal in ´..\Tal.pas´
o compilador parece não identificar essa unidade, sendo necessário colocar todo o caminho
dessa forma a dll é compilada, mas fica com o tamanho maior que a
compilada pelo IDE do delphi (de 15K para 213K)
deve ser alguma configuração que não descobri
é o seguinte...
na dpr, quando tem a declaração das unidades, o formato é assim:
uTal in ´Tal.pas´
porém quando a unidade está uma pasta anterior a declaração fica
uTal in ´..\Tal.pas´
o compilador parece não identificar essa unidade, sendo necessário colocar todo o caminho
dessa forma a dll é compilada, mas fica com o tamanho maior que a
compilada pelo IDE do delphi (de 15K para 213K)
deve ser alguma configuração que não descobri
GOSTEI 0
Massuda
15/02/2006
uTal in ´..\Tal.pas´
Você pode eliminar o path dessas units no DPR; o DCC32 deve procurar nas pastas que você especificou no -U.dessa forma a dll é compilada, mas fica com o tamanho maior que a compilada pelo IDE do delphi
Dê uma olhada nas opções de debug e otimização.GOSTEI 0
Miudo
15/02/2006
Existe uma opção -LU que indica o uso de packages em tempo de
execução ex.:
-LUvclx30;VCL30;vcldb30;vcldbx30;inetdb30;inet30;VclSmp30;Qrpt30;
teeui30;teedb30;tee30;dss30;IBEVNT30;
caso não seja necessário compilar os packages junto com o programa tem que ser adicionado esse parâmetro.
Por isso minha dll estava maior que o normal.
No ide do delphi eu marcava a opção ´Build with runtime packages´
execução ex.:
-LUvclx30;VCL30;vcldb30;vcldbx30;inetdb30;inet30;VclSmp30;Qrpt30;
teeui30;teedb30;tee30;dss30;IBEVNT30;
caso não seja necessário compilar os packages junto com o programa tem que ser adicionado esse parâmetro.
Por isso minha dll estava maior que o normal.
No ide do delphi eu marcava a opção ´Build with runtime packages´
GOSTEI 0