Página 1 de 1
Exospace c/ outras bibliotecas no .bat
Enviado: 24 Jul 2007 09:04
por miracle
Bom dia, Amigos!
Para compilar meus programas, uso arquivos de lote. Não sei usar scripts de compilação. Assim sendo, tenho um arquivo de lote para compilar programas com o Exospace:
Código: Selecionar todos
CLS
CLIPPER %1
IF NOT ERRORLEVEL 1 EXOSPACE FILE %1
DEL %1.obj
Como eu devo fazer para que, na hora de linkeditar, o Exospace use as bibliotecas como a FGL30.lib ou a Six3.lib que estão no diretório "c:\clip52e\lib"? O autoexe.nt está certinho.
Enviado: 24 Jul 2007 09:09
por Pablo César
Simplesmente adicione LIB c:\clip52e\lib\NOME_DA_LIB* (isso se o Exospace não conflitar), porque ele é meio chatinho...
Obs.: * Mensagem re-editada
Enviado: 24 Jul 2007 09:12
por miracle
Seria dessa forma?
Código: Selecionar todos
CLS
CLIPPER %1
IF NOT ERRORLEVEL 1 EXOSPACE FILE %1 LIB C:\CLIP52E\LIB
DEL %1.obj
Enviado: 24 Jul 2007 09:15
por Pablo César
Desculpe falta mencionar o nome da LIB que você precisa para funcionar. Pensando bem acho que você nessa mesma BAT poderia fazer o SET LIB=c:\clip52e\lib e depois de compilada retornar ao que estava. É assim que eu faço quando alterno de CLIP52 para CLIP53. Mas não é frequente, mas acabo redefinindo variáveis de ambiente no minha própria BAT de compilação.
Enviado: 24 Jul 2007 09:21
por Maligno
Conselho de amigo: jogue fora essa porcaria de ExoSpace e use o BLinker.
Enviado: 24 Jul 2007 09:43
por Pablo César
Maligno escreveu:Conselho de amigo: jogue fora essa porcaria de ExoSpace e use o BLinker.
É isso aí... isso é uma boa !.
Mas caro miracle, por quê cargas daguas você precisa utilizar tanta memória assim ?.
Enviado: 24 Jul 2007 09:47
por miracle
Quase consegui resolver meu problema fazendo o seguinte:
Código: Selecionar todos
CLS
CLIPPER %1
IF NOT ERRORLEVEL 1 EXOSPACE FILE %1 LIBRARY SIX3
DEL %1.obj
Agora, quando tento linkeditar mais de uma lib seguida, como abaixo:
Código: Selecionar todos
CLS
CLIPPER %1
IF NOT ERRORLEVEL 1 EXOSPACE FILE %1 LIBRARY SIX3, FGLIB31
DEL %1.obj
o EXOSPACE parece não encotrar a segunda, porque dá um monte de mensagens de alerta e cria um executável que apresenta erros na execução.
Baixei o Blinker 7 do seu site, Maligno. Após executar um instalador via Windows, verifiquei que ele extrai um monte de arquivos. Quais são necessários para o Blinker rodar e quais eu posso tacar fora? E como eu compilo via arquivo de lote com ele?
Enviado: 24 Jul 2007 09:55
por Maligno
miracle escreveu:Código: Selecionar todos
IF NOT ERRORLEVEL 1 EXOSPACE FILE %1 LIBRARY SIX3, FGLIB31
Está me parecendo que existe um espaço extra entre "SIX3," e "FGLIB31". Remova-o, pois num programa de linha de comando isso significa um outro argumento. Deve ser isso.
Baixei o Blinker 7 do seu site, Maligno. Após executar um instalador via Windows, verifiquei que ele extrai um monte de arquivos. Quais são necessários para o Blinker rodar e quais eu posso tacar fora?
São vários diretórios específicos para outras linguagens. Vou ter que olhar direito. Mas eu deixo tudo lá. Não ocupam muito espaço.
E como eu compilo via arquivo de lote com ele?
Pelo que vi da sua linha de comando, é a mesmíssima coisa. Mas outros argumentos podem ser usados. Para o modo protegido há algumas coisas a mais. Exemplo:
BLINKER FI %1 LI BLXCLP52,SIX3,FGLIB31 BLI EXE EXT
No BLinker, FI=FILES, LI=LIBRARY, BLI=BLINKER, EXE=EXECUTABLE e EXT=EXTENDED (modo protegido). Você pode usar os nomes inteiros, caso queira. Mas lembre-se de que há um limite de tamanho para a linha de comando. Por isso sempre se aconselha o uso de script. O BLinker tem muitas opções. Seria idea, portanto, o uso de scripts. Mas pra uma linkedição básica, dá pra usar a linha de comando tranqüilamente.
A biblioteca BLXCLP52 é essencial para criar um programa em modo protegido. Ela serve para o Clipper versão 5.2x. Se estiver usando a versão 5.3, troque-a por BLXCLP53.
Enviado: 24 Jul 2007 10:01
por miracle
"Mas caro miracle, por quê cargas daguas você precisa utilizar tanta memória assim ?"
Não entendi, Pablo Cézar. Gostaria de utilizar o Exospace no lugar o RTLink ou de qualquer outro porque acho que ele daria mais estabilidade ao meu programa e o faria rodar bem em máquinas com windows XP usando a memória extendida nos programas feitos em Ms-Dos. Ele usa muita memória?
Ha, e o que eu falei de o Exospace não estar lendo a segunda lib, é o seguinte: ele parece estar em conflito com a lib FGLIB31. Parece que está procurando um monte de arquivos com extensão ".c" que eu nunca ouvi falar.
Enviado: 24 Jul 2007 10:11
por Pablo César
Pois é, é por isso tudo que nós não aconselhamos o uso do Exoespace, se quiser mais estabilidade e recursos de memória na execução dos teus aplicativos utilize o BLINKER que o Maligno te indicou. Mas ainda acho que o RTLINK para muitas situações é bom o suficiente.
Enviado: 24 Jul 2007 10:15
por Maligno
Pablo César escreveu:Mas ainda acho que o RTLINK para muitas situações é bom o suficiente.
Você está certíssimo. Entretanto, se a aplicação crescer demais, o modo protegido fará muita diferença. Quando utilizava o RTLink tinha "
out of memory" freqüentemente. Depois de migrar pro BLinker em modo protegido, nunca mais.