Página 1 de 1

Preciso de ajuda para compilar a lib MD5

Enviado: 26 Mar 2008 08:59
por lwagner
Por ajuda de um companheiro, baixei a lib MD5.
Mas, infelizmente, não sei por que cargas d'águas não consigo compilar a lib junto ao meu programa aparece sempre a mensagem "MD5Calc unresolved external".
Já observei path, existência da lib na pasta correta. Verifiquei no fonte de exemplo se eu estava utilizando de maneira diferente. E, nada.
Tentei compilar com o MAKEDEMO.BAT e obtenho a mesma resposta.
Alguém poderia me ajudar ??!!

Enviado: 26 Mar 2008 09:25
por Pablo César
Bem vindo ao fórum Luiz Wagner Rodrigues dos Santos ! Hehe ja sabemos o seu nome completo, antes de você ingressar ao fórum, hihi É que ja existe um tópico ja falando disto, veja aqui: https://pctoledo.org/forum/viewto ... 3090#43090 (por isso é bom antes de abrir novo tópico, fazer uso do "Busca" do menú acima daqui do fórum).
Já observei path, existência da lib na pasta correta
mAs você tem certeza que o arquivo MD5.LIB está na pasta onde está o SET LIB= ? Ou então (para ser mais resultante) faça isto:

Você abriu alguma pasta para executar o DEMO do MD5 ?. Se é sim a sua resposta, copie o MD5.LIB para dentro dessa pasta. Você está usando que versão do Clipper ?

Enviado: 26 Mar 2008 11:22
por lwagner
Obrigado companheiros pela atenção.

Verifiquei as dicas passadas quanto à indicação no SET LIB, ele está apontando para a pasta onde estão as bibliotecas.
Eu utilizo a versão do Clipper 5.3b., e compilo o sistema utilizando um arquivo .LNK.
Onde passei a indicar o caminho completo onde se encontra a MD5.LIB.
E mesmo assim continuei com a mesma mensagem de erro :

Blinker : Overlay opsize set to 28 Kb - minimum is 28 kb (DBF1_TEXT)
Blinker : 1115 : LSMGERA2.OBJ(LSMGERA2) : 'MD5Calc' : unresolved external
Blinker : link was successful

O executável é criado, sem reconhecer a referida chadama.

Agradeço a quem me ajudar.

Enviado: 26 Mar 2008 11:34
por Pablo César
lwagner escreveu:Eu utilizo a versão do Clipper 5.3b., e compilo o sistema utilizando um arquivo .LNK
Poderia então colocar aqui o conteúdo desse arquivo .LNK ?
Blinker : Overlay opsize set to 28 Kb - minimum is 28 kb (DBF1_TEXT)
Blinker : 1115 : LSMGERA2.OBJ(LSMGERA2) : 'MD5Calc' : unresolved external
Blinker : link was successful
Engraçado que ele gera o executável (aparentemente), mas pelo que me parece está tendo um outro tipo de erro primeiramente. Está me parecendo algum erro de locação de memoria com o BLINKER. Eu ja ví tópicos mencionando que certos procedimentos não podem ser do modo protegido. Mas esta tese, não vou sustentar visto a minha falta de experiência com BLINKER. Esperemos outros colegas que tenham mais precisão. Ou então tente mudar a forma de linkedição.

Enviado: 26 Mar 2008 11:42
por lwagner
Meu arquivo LNK

BLINKER incremental off
BLINKER overlay opsize 50
BLINKER executable nodelete
BLINKER executable clipper F240
BLINKER overlay pageframe on
BLINKER ove ops 20
BLINKER cache xms 50%,1024
BLINKER cache ems 50%,1024
BLINKER ove umb on

Output \SOFT\LSM\SHS.NEW\LSM.EXE

@\CLIPPER\530\LIB\C53BLMAX.LNK

File \soft\config.502\20B\obj\MAIN00
File \soft\config.502\20B\obj\MENU00
File \soft\config.502\20B\obj\MENU01

BEGINAREA
File \soft\config.502\20B\obj\SUPORT30
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\PADRAO
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\SCREEN01
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\F_PADRAO
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\LSMBIOQ1
File \soft\config.502\20B\obj\LSMINTER
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\LSMBIOQ2
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\LSMBIOQ3
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\LSMESTAT
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\LSMGERA1
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\LSMGERA2
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\LSMATEND
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\SUPORT01
File \soft\config.502\20B\obj\SUPORT10
File \soft\config.502\20B\obj\SUPORT20
File \soft\config.502\20B\obj\SUPORT21
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\PADRAO2
ENDAREA

BEGINAREA
File \soft\config.502\20B\obj\RL_PADRAO
ENDAREA

BEGINAREA
File \SOFT\CONFIG.502\LIB\DISPA.EXT
File \SOFT\CONFIG.502\LIB\DISPC.EXT
File \SOFT\CONFIG.502\LIB\DFILE.EXT
File \SOFT\CONFIG.502\LIB\MCDOS.EXT
ENDAREA


Lib \SOFT\CONFIG.502\LIB\LIB.EXT
Lib CT
Lib OSLIB
Lib \CLIPPER\530\LIB\MD5
Lib \CLIPPER\530\OBJ\CTUS.OBJ
Lib \CLIPPER\530\OBJ\dosidle.OBJ

Enviado: 26 Mar 2008 11:44
por Pablo César
Tem como testar tirando esse: "BLINKER overlay pageframe on" e recompilá-lo ?

Enviado: 26 Mar 2008 12:00
por lwagner
Retirei a linha.
Mas, o problema ainda persiste.

Enviado: 26 Mar 2008 12:03
por Pablo César
Tire também o "BLINKER overlay opsize 50" , "BLINKER ove umb on" e veja se é isso. Não instrução de overlays.

Re: Preciso de ajuda para compilar a lib MD5

Enviado: 26 Mar 2008 13:02
por Maligno
lwagner escreveu:aparece sempre a mensagem "MD5Calc unresolved external".
Comece a resolver o problema de baixo pra cima. Grave a biblioteca num diretório que sirva de repositório de bibliotecas. Talvez você tenha um. Se não tiver, é uma boa idéia criar. Isso ajuda a organizar os arquivos.

Em seguida, configure as variáveis de ambiente que o Clipper e o BLinker utilizam. É muito melhor usar variáveis do que amontoar tudo o que é necessário num único lugar. Também ajuda a botar ordem nos arquivos.

Por fim, crie um programa minimalista, bem pequeno mesmo, e para isso utilize um script "seco", só com o essencial para criar o EXE. Vencida essa etapa, você sabe que está com o "ambiente" corretamente configurado. Daí então, é certo de que seu script de trabalho está com problema. E pra resolvê-lo, é a mesma coisa: remova todos os comandos não essenciais. Isso inclui esse monte de BEGINAREA/ENDAREA. Deixe apenas o necessário pra criar o EXE. Depois de tudo estar funcionando corretamente, inclua novamente os comandos que você acha que são necessários. Mas evite poluir seu script com comandos que você nem sabe pra que serve, como muitos costumam fazer. Aliás, quando o script funciona, as pessoas tendem a manter tudo do jeito que está, mesmo utilizando comandos cuja utilidade é totalmente desconhecida. Isso é um erro. O ideal é manter o script o mais enxuto possível.

Aliás, outra dica: se puder, utilize o modo protegido. Você só tem a ganhar, já que o programa passa a utilizar toda a memória extendida que a sessão DOS tiver, levando praticamente a zero a possibilidade do programa precisar de algum swap em disco, o que elevará a performance.