Criar uma .lib ou uma .dll?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Criar uma .lib ou uma .dll?

Mensagem por momente »

Caros amigos,

Primeiro gostaria de dizer que estou programando em xharbour -:] , e isso é muito bom. Graça a todos do fórum que de uma forma ou outra me ajudaram.

Agora as dúvidas:

1- Tenho 3 fontes (func1, func2, func3) todas .prg, no clipper5 criava uma .lib usando a tlib. Quando uso o Hbmake /elx ele compila apenas 33% e não gera a lib. Porque?

2- Qual a diferença de trabalhar com .lib ou dll, posso transformar minha lib em dll, se sim, qual a vantagem?

Obrigado a todos!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Mensagem por momente »

Caros amigos,

Será que alguem pode me dar uma explicação de como criar uma .lib, estou tentando com hbmaker, mas não estou conseguindo gera-la.

valeu! :-o
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
mou321
Usuário Nível 1
Usuário Nível 1
Mensagens: 17
Registrado em: 02 Mar 2006 09:29

Mensagem por mou321 »

vc tem que usar o TLIB 5.04 ou 5.05

o tlib 5.05 é para borland c++ 5.5.1


Mas lembre que o xharbour troca o Nome e o ponteiro das Funções não tornando elas Públicas .. VC pode verificar isso dando uma Olhada no .C que ele cria..

HB_FUNC ( nomedasuafuncao )

Ou seja é um pouco Complicado Para Fazer + dá , Sugiro vc usar DLL é complicado TB porem + facil ...


Um Abraço
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Eu uso BRMAKE

Crie um .MLK, contendo:

/* Nome da Lib */
LIBFILE nomedasualib

/* Arquivos PRGs que deverão ser Compilados e inseridos na LIB */
ADDPRG nomeprg_1.prg nomeprg_N.prg

/* Arquivos OBJs já compilados que deverão ser inseridos na LIB */
ADDOBJ nomeprg_1.obj nomeprg_N.obj

/* Arquivos a serem Removidos da LIB */
//REMOVE

/* Arquivos a serem Extraidos da LIB */
//EXTRACT

BRMAKE SEU.MLK /F

Ou use um .BAT, exemplo:

@echo off
cls

IF "%mg_bcc%"=="" SET MG_BCC=c:\bcc55
IF "%mg_hrb%"=="" SET MG_HRB=c:\xharbour

IF EXIST sualib.lib del sualib.lib

%mg_hrb%\bin\harbour prg_1.prg prg_2.prg prg_N.prg -i%mg_hrb%\include;%mg_root%\include;-n1 -gc0 -es2 -w -es2

%mg_bcc%\bin\bcc32 -c -O2 -tW -tWM -d -a8 -OS -5 -6 -I%mg_hrb%\include;%mg_bcc%\include; -L%mg_hrb%\lib;%mg_bcc%\lib; prg_1.c prg_2.c prg_N.c

%mg_bcc%\bin\tlib sualib +prg_1.obj +prg_2.obj +prg_N.obj

del *.c
del *.obj

SEU.BAT [ENTER]
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Mensagem por momente »

Obrigado amigos Mou321 e Antonio,

Consegui!!!! -:] -:] -:]

Meu primeiro sistema(inha) em xharbour 0.99.5.

Criei minha lib com o brmake, dei uma olhada nos exemplos e me dei bem!!!

Vamos em frente que atras vem gente!!! rs

Muito obrigado!!! :xau
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Responder