Clipper On Line • Ver Tópico - BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

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

Moderador: Moderadores

 

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 29 Ago 2020 00:22

Estou tentando usar as DLLs, mas estou tento problemas com as LIBs
I:/HB32/lib/win/mingw/libbgd.lib: file not recognized: File format not recognized

Na pasta I:\hb32\lib\win\mingw tem uma libFreeImage.a, mas não ví nada que pudesse ser relacionado à BGD.

No xHarbour era só eu usar: fi_lib.lib; gdlib.lib; libbgd.lib e libfi.lib.

Para criar a libbgd.lib:
impdef -a libbgd.def bgd.dll
implib -a libbgd.lib libbgd.def

Para criar a libfi.lib:
impdef -a libfi.def freeimage.dll
implib -a libfi.lib libfi.def

Enfim, como faço para utilizar essas DLLs com o HB32?
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Claudio Soto » 29 Ago 2020 01:16

Hola,
si no entendí mal lo que quieres es usar un archivo de biblioteca .lib con hb y el compilador mingw.

Los compiladores gcc (como mingw) utilizan un formato de biblioteca distinto al .lib, es decir utilizan el formato de librería .a

Para poder usar las .lib con mingw tienes que convertirla al formato tipo .a con alguna herramienta.

Ver por ejemplo
https://code.google.com/archive/p/lib2a/
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 29 Ago 2020 10:50

Gracias, yo he bajado el tool, los archivos .a fueram creados y compilados sin error, pero no funcionó.
En xHarbour habia 2 libs para BGD e 2 libs para FreeImage. Esto me quedó una cierta duda.
Entonces como LIB2A piede un archivo .DEF pensé que fuesen los archivos creados desde este camino:
impdef -a libbgd.def bgd.dll
implib -a libbgd.lib libbgd.def

Alfinal, yo intenté con la otra lib también pero dio un error.
He percebido que esto usa la BCC55 mientras HB32 usa GCC...
Todavía, configuré el archivo LIB2A com la lib supra, dll y def. Lo arquivo .a fué creado pero no funcionó.
Estoy piensando en las otras libs... xHarbour necesita de GDLIB.LIB y LIBBGD.LIB para usar BGD.DLL mientras Harbour solo nececita de una lib? Porque solo pude convertir LIBBGD.LIB para libbgd.a y como queda la otra lib?

Mi archivo .HBP contiene:
#DEBUG
-b
libhbdebug.a

#BGD e FreeImage
libbgd.a
libFreeImage.a

#DEFINES
-D__GD__
-D__FREEIMAGE__


Otra cosa, yo necessito definir las #DEFINES supra pero no sé si el problema és esto (si yo hice cierto) o las libs. Voy a investigar con DEBUG estaba usando -inc que no dejaba compilar.
Estoy migrando una herramienta que crié en xHarbour para Harbour que nececita de estas DLLs.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 29 Ago 2020 11:15

Descobrí que precisava linkar hbfimage.hbc para usar a Freeimage.
Só falta a BGD.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Claudio Soto » 29 Ago 2020 11:39

Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 29 Ago 2020 12:23

Freeimage és solo poner hbfimage.hbc y libFreeImage.a en la compilación con hbmk2 y está listo!
Yo necesito saber como hacer ahora con BGD.DLL porque queda la funcción TCode():New().
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Claudio Soto » 29 Ago 2020 13:43

Las .DLL no se linkan dentro del ejecutable, se llaman las funciones desde el programa como lo hacías en xhb, con callDll.
Si quieres linkarla debes convertir de .dll a .lib o .a
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 29 Ago 2020 13:56

Sí amigo, ya lo sé.
No lo sé como hacer para trabajar con GD y HB32. Encontré un enlace en ese forum: http://www.hmgforum.com/viewtopic.php?f ... bgd#p17559
Pero no me ayudó mucho porque no tengo el fichero \contrib\hbgd\tests\ en HB32. La persona usaba HB30.
Bajé todos los arquivos del http://gnuwin32.sourceforge.net/packages/gd.htm pero no tengo gd.ch ni hbgd.
Almenos logré la libgd.dll.a.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Claudio Soto » 29 Ago 2020 17:35

Acá te dejo el contrib de hb
Anexos
hb_contrib_hbgd.rar
(89.2 KiB) Baixado 101 vezes
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 29 Ago 2020 22:57

Vale! Muchas gracias!
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 30 Ago 2020 10:47

Hola Claudio, desafortunadamente no logré exito.
En mi .HBP puse:
#BGD e FreeImage
hbgd.hbc
hbfimage.hbc

Pero me dio error con la GD:
I:/hb32/comp/mingw/bin/../lib/gcc/i686-w64-mingw32/7.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lhbgd

Yo busqué en ese camiño y encontré listo las LIBs correspondientes del xHarbour para FreeImage:
    libffi.a
    libffi.dll.a
Pero nada de GD.
Entonces y fué en la carpeta: I:\hb32\contrib\hbgd y ejecuté hbmk2 hbgd.hbp:
I:\hb32\contrib\hbgd>HBMK2 HBGD.HBP
hbmk2[HBGD]: Atenção: Faltando a dependência: gd

Entonces puse todos os archivos bajados con las dependencias etc en la misma carpeta pero el error continua:
I:\hb32\contrib\hbgd>DIR
O volume na unidade I é RAID0
O Número de Série do Volume é E879-3727

Pasta de I:\hb32\contrib\hbgd

30/08/2020 09:49 <DIR> .
30/08/2020 09:49 <DIR> ..
30/08/2020 09:49 <DIR> bin
30/08/2020 09:49 <DIR> contrib
30/06/2020 13:01 <DIR> doc
30/06/2020 13:01 5.158 gd.ch
30/06/2020 13:01 7.239 gd.prg
30/06/2020 13:01 9.018 gdbar.prg
30/06/2020 13:01 17.222 gdbarcod.prg
30/06/2020 13:01 28.627 gdchart.prg
30/06/2020 13:01 28.983 gdimage.prg
30/06/2020 13:01 64.157 gdwrp.c
30/06/2020 13:01 221 hbgd.hbc
30/06/2020 13:01 448 hbgd.hbp
30/06/2020 13:01 3.794 hbgd.hbx
30/08/2020 09:49 <DIR> include
30/08/2020 09:49 <DIR> lib
30/08/2020 09:49 <DIR> man
30/08/2020 09:49 <DIR> manifest
30/06/2020 13:01 <DIR> tests
10 arquivo(s) 164.867 bytes
10 pasta(s) 310.191.587.328 bytes disponíveis

I:\hb32\contrib\hbgd>HBMK2 HBGD.HBP
hbmk2[HBGD]: Atenção: Faltando a dependência: gd

Y entonces todavía nada.
Así como había 2 archivos del xHarbour para FreeImage encontré 2 para Harbour en I:\hb32\comp\mingw\lib. Sin embargo no estou logrando las benditas libs del GD.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor JoséQuintas » 30 Ago 2020 11:21

Acho que é igual no XHarbour:

- Tem contribuição que só vai ser gerada se baixar os arquivos adicionais, que não fazem parte do Harbour.
- Tem contribuição que só vai funcionar na máquina destino se copiar exatamente as mesmas DLLs usadas na máquina de desenvolvimento
- E convém lembrar que pra cada uma delas pode existir versão 32 ou 64 bits, tem que ser igual à versão do Harbour sendo usada.

Acho que são assim: freeimage, libcurl, openssl, hbmysql, e outras
NÃO uso nada disso, então não sei dizer sobre detalhes.

As LIBs costumam ser separadas por compilador: lib\win\mingw, lib\win\mingw64, lib\win\bcc, lib\win\msvc, lib\win\msvc64
Isso permite ter na máquina vários compiladores C ao mesmo tempo, inclusive 32 e 64 bits.

O importante é:
- precisa do harbour.exe
- precisa de um compilador C
- precisa das LIBs geradas pra o compilador C que vai usar

E se precisa de LIB especial, dessas que dependem de algo mais, ou baixa uma versão pronta, ou baixa o que precisa pra gerar a contrib.

Ao mesmo tempo que isso é muito chato, se por acaso um compilador C deixar de existir, podemos usar o outro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor Linguagemclipper » 01 Set 2020 13:09

O problema é baixar o que precisa para gerar essa contrib hbgd, já baixei um monte de coisa e não compila essa bendita lib.
Eu usava o TortoiseCVS para baixar o xHarbour antigamente e tinha tudo prontinho lá. http://www.tortoisecvs.org/
Hoje em dia parece que estão usando o github no lugar to CVS... Lá no github não encontro essa contrib pronta.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor JoséQuintas » 01 Set 2020 14:34

É por essas e outras, que o Harbour 3.4 é the best.

d:\github\harbour34\contrib\hbgd>HBMK2 -w3 -es2 -m -n *.hbp -strip -compr -workdir=c:\temp -q -Id:\cdrom\FONTES\build\
hbmk2: Processando opções do ambiente: -comp=mingw
hbmk2: Processando arquivo de configuração: d:\harbour\bin\hbmk.hbc
hbmk2 [hbgd]: Atenção: Faltando a dependência: gd
hbmk2 [hbgd]: Hint: Aponte as variavéis de ambiente HBMK_WITH_GD ou HB_WITH_GD
para o diretório que contém cabeçalho 'gd.h'
hbmk2 [hbgd]: Dica: URL(s) de Projeto: https://libgd.github.io/


Na compilação mostrou o link, vai lá baixa, salva numa pasta, e cria HB_WITH_GD=nome da pasta
Depois compila de novo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2

Mensagempor asimoes » 01 Set 2020 15:34

Quintas,

Onde o harbour indica o projeto gd não tem a dll necessária para criar a lib, só aqui: https://sourceforge.net/projects/gnuwin32/files/gd/2.0.33-1/ gd-2.0.33-1-bin.zip
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro