BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
Moderador: Moderadores
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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?
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.
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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/
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/
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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:
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:
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.
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:
Código: Selecionar todos
impdef -a libbgd.def bgd.dll
implib -a libbgd.lib libbgd.defHe 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:
Código: Selecionar todos
#DEBUG
-b
libhbdebug.a
#BGD e FreeImage
libbgd.a
libFreeImage.a
#DEFINES
-D__GD__
-D__FREEIMAGE__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.
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
Descobrí que precisava linkar hbfimage.hbc para usar a Freeimage.
Só falta a BGD.
Só falta a BGD.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
Hola,
sinceramente nunca use freeimage, encontré estos enlaces capaz que te sirven:
http://www.hmgforum.com/viewtopic.php?f=35&t=4360
http://www.hmgforum.com/viewtopic.php?f=15&t=993
http://www.hmgforum.com/viewtopic.php?f=5&t=6432
http://www.hmgforum.com/viewtopic.php?f ... 7&start=23
http://www.hmgforum.com/viewtopic.php?p=62751#p62751
sinceramente nunca use freeimage, encontré estos enlaces capaz que te sirven:
http://www.hmgforum.com/viewtopic.php?f=35&t=4360
http://www.hmgforum.com/viewtopic.php?f=15&t=993
http://www.hmgforum.com/viewtopic.php?f=5&t=6432
http://www.hmgforum.com/viewtopic.php?f ... 7&start=23
http://www.hmgforum.com/viewtopic.php?p=62751#p62751
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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().
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.
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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
Si quieres linkarla debes convertir de .dll a .lib o .a
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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.
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.
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
Acá te dejo el contrib de hb
- Anexos
-
hb_contrib_hbgd.rar- (89.2 KiB) Baixado 202 vezes
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
Vale! Muchas gracias!
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
Hola Claudio, desafortunadamente no logré exito.
En mi .HBP puse:
Pero me dio error con la GD:
Entonces y fué en la carpeta: I:\hb32\contrib\hbgd y ejecuté hbmk2 hbgd.hbp:
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.
En mi .HBP puse:
Código: Selecionar todos
#BGD e FreeImage
hbgd.hbc
hbfimage.hbcYo busqué en ese camiño y encontré listo las LIBs correspondientes del xHarbour para FreeImage:I:/hb32/comp/mingw/bin/../lib/gcc/i686-w64-mingw32/7.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lhbgd
- libffi.a
libffi.dll.a
Entonces y fué en la carpeta: I:\hb32\contrib\hbgd y ejecuté hbmk2 hbgd.hbp:
Entonces puse todos os archivos bajados con las dependencias etc en la misma carpeta pero el error continua:I:\hb32\contrib\hbgd>HBMK2 HBGD.HBP
hbmk2[HBGD]: Atenção: Faltando a dependência: gd
Y entonces todavía nada.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
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.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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.
- 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 mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Linguagemclipper
- Usuário Nível 3

- Mensagens: 240
- Registrado em: 16 Abr 2016 17:33
- Localização: Maceió/AL
- Contato:
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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.
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.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
É por essas e outras, que o Harbour 3.4 é the best.
Depois compila de novo.
Na compilação mostrou o link, vai lá baixa, salva numa pasta, e cria HB_WITH_GD=nome da pastad:\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/
Depois compila de novo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
BGD.DLL e FREEIMAGE.DLL com HARBOUR 3.2
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/gnuwin ... /2.0.33-1/ gd-2.0.33-1-bin.zip
Onde o harbour indica o projeto gd não tem a dll necessária para criar a lib, só aqui: https://sourceforge.net/projects/gnuwin ... /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)
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)