Caros Amigos,
Tenho uma dúvida e gostaria que me esclarecessem por favor
Tenho um programa chamado final.prg
final.prg tem o seguinte:
proc main()
prg1()
prg2()
exit
prg1.prg tem o seguinte:
proc prg1()
@ 12,12 say "programa 1"
prg2.prg tem o seguinte:
proc prg2()
@ 12,12 say "programa 2"
Os programas prg1.prg e prg2.prg foram adicionados à Lib 3.lib através do tlib.
Agora como faço para compilar o programa final.prg com a lib 3.lib ou se tiver mais libs como faço.
A compilação diz-me o seguinte:
Unresolved External.
Gostaria que me ajudassem
Obrigado
Carlos Lapa
Compilar com libs
Moderador: Moderadores
-
lapinhazzz
- Usuário Nível 3

- Mensagens: 130
- Registrado em: 20 Abr 2009 10:52
- Localização: LAGOA
-
lapinhazzz
- Usuário Nível 3

- Mensagens: 130
- Registrado em: 20 Abr 2009 10:52
- Localização: LAGOA
Re: Compilar com libs
Caros Amigos,
Descobri como se compila com as libs
Colocar as libs na pasta xharbour\lib e quando compilar escolher as libs externas e escolher a lib feita pelo usuário
Obrigado.
Carlos Lapa
Descobri como se compila com as libs
Colocar as libs na pasta xharbour\lib e quando compilar escolher as libs externas e escolher a lib feita pelo usuário
Obrigado.
Carlos Lapa
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Compilar com libs
Bom, para quem não sabe aqui vai umas dicas:
Para gerar(compilar) uma LIB usando xHarbour pode se usar o hbmake com a seguinte linha de comando de dentro da pasta onde se encontra os .PRG que vai fazer parte da LIB:
hbmake nomelib.bc /elx
Esse comando vai abrir o hbmake , basta ir passando pelos parametros até chegar na lista dos arquivos .PRG e marcar com a barra de espaço os .PRG que fazem parte da LIB.
Com o Harbour já é mais facil ainda usando o hbmk2, e diga de passagem esta muito mais facil de compilar até mesmo sistemas. Até acho que o pessoal do xHarbour deveriam analisar a possibilidade de usar o hbmk2.exe no xharbour ao invés do hbmake.exe.
Bom, pela linha de dentro da pasta onde se encontra os .PRG basta chamar:
hbmk2 -trace -hblib -onomelib *.prg
Mais facil que isso só dois disso.
Depois para linkar as LIB geradas no projeto, é a mesma coisa, com o xHarbour se usa o hbmake porem apenas com o comando /EL e com o Harbour usando o hbmk2 *.prg, e se quiser adicionar umas LIB ao projeto compilado com harbour, basta colocar um arquivo com a extenção .HBP dentro da pasta que o hbmk2 le automaticamente o mesmo abaixo um exemplo do que estou usando com o Harbour
arquivo.hbp
Para gerar(compilar) uma LIB usando xHarbour pode se usar o hbmake com a seguinte linha de comando de dentro da pasta onde se encontra os .PRG que vai fazer parte da LIB:
hbmake nomelib.bc /elx
Esse comando vai abrir o hbmake , basta ir passando pelos parametros até chegar na lista dos arquivos .PRG e marcar com a barra de espaço os .PRG que fazem parte da LIB.
Com o Harbour já é mais facil ainda usando o hbmk2, e diga de passagem esta muito mais facil de compilar até mesmo sistemas. Até acho que o pessoal do xHarbour deveriam analisar a possibilidade de usar o hbmk2.exe no xharbour ao invés do hbmake.exe.
Bom, pela linha de dentro da pasta onde se encontra os .PRG basta chamar:
hbmk2 -trace -hblib -onomelib *.prg
Mais facil que isso só dois disso.
Depois para linkar as LIB geradas no projeto, é a mesma coisa, com o xHarbour se usa o hbmake porem apenas com o comando /EL e com o Harbour usando o hbmk2 *.prg, e se quiser adicionar umas LIB ao projeto compilado com harbour, basta colocar um arquivo com a extenção .HBP dentro da pasta que o hbmk2 le automaticamente o mesmo abaixo um exemplo do que estou usando com o Harbour
arquivo.hbp
Código: Selecionar todos
{win}libs=hwgui procmisc hbmzip hbziparc hbct hbtip hbwin xhb hbhpdf libhpdf libpng hbblat blat
{win}gt=gtgui
{linux}libs=hwgui procmisc hbmzip hbziparc hbtip hbhpdf libhpdf libpng
run=yes
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
lapinhazzz
- Usuário Nível 3

- Mensagens: 130
- Registrado em: 20 Abr 2009 10:52
- Localização: LAGOA
Re: Compilar com libs
Caro Amigo e a todos deste forum.
Estive a compilar como você disse:
hbmake nomedalib.bc /elx
e depois o compilador diz o seguinte:
Warning 'prog1' not found in library
Warning 'prog2' not found in library
Avisa que os dois prgs não se encontram dentro da pasta das bibliotecas.
Coloquei a pasta no path e mesmo assim não funcionou.
Então e agora como faço?
Cumprimentos,
Carlos Lapa
Estive a compilar como você disse:
hbmake nomedalib.bc /elx
e depois o compilador diz o seguinte:
Warning 'prog1' not found in library
Warning 'prog2' not found in library
Avisa que os dois prgs não se encontram dentro da pasta das bibliotecas.
Coloquei a pasta no path e mesmo assim não funcionou.
Então e agora como faço?
Cumprimentos,
Carlos Lapa
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Compilar com libs
Olá Carlos,
Você marcou todos os .PRG que fazem parte da sua LIB ?
Post aqui por favor seu arquivo (nomedalib.bc) !
Se você esta tentando gerar uma LIB com o exemplo que postou acima, apenas link seu prg1.prg e prg2.prg, não prescisa de um terceiro arquivo com MAIN.
Nota: MAIN é apenas para compilar seus aplicativos
Você marcou todos os .PRG que fazem parte da sua LIB ?
Post aqui por favor seu arquivo (nomedalib.bc) !
Se você esta tentando gerar uma LIB com o exemplo que postou acima, apenas link seu prg1.prg e prg2.prg, não prescisa de um terceiro arquivo com MAIN.
Código: Selecionar todos
//proc main()
//prg1()
//prg2()
//exit
//prg1.prg tem o seguinte:
proc prg1()
@ 12,12 say "programa 1"
//prg2.prg tem o seguinte:
proc prg2()
@ 12,12 say "programa 2"
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
lapinhazzz
- Usuário Nível 3

- Mensagens: 130
- Registrado em: 20 Abr 2009 10:52
- Localização: LAGOA
Re: Compilar com libs
Eu tenho um prg principal que se chama final. Tenho mais dois chamados prg1 e prg2
No final.prg tenho:
proc main()
prg1()
prg2()
no prg1 tenho:
proc prg1()
@ 2,2 say "primeiro prg"
no prg2 tenho:
@ 3,3 say "segundo prg"
Agora vou compilar dentro da pasta que contém os prgs e faço
hbmake final.bc /elx
E dá-me o erro que eu postei atrás
Agora não sei como fazer!
Muito obrigado pela atenção.
Carlos Lapa
No final.prg tenho:
proc main()
prg1()
prg2()
no prg1 tenho:
proc prg1()
@ 2,2 say "primeiro prg"
no prg2 tenho:
@ 3,3 say "segundo prg"
Agora vou compilar dentro da pasta que contém os prgs e faço
hbmake final.bc /elx
E dá-me o erro que eu postei atrás
Agora não sei como fazer!
Muito obrigado pela atenção.
Carlos Lapa
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Compilar com libs
Faça como eu disse no topico anterior que vai dar certinho ! o que você postou no ultimo post não foram erros e sim avisos apenas.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql