Página 1 de 2

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 19:39
por ricardosierban
Olá, os exemplos abaixo são apenas alguns que aparecem ao tentar converter um programa de Clipper para Harbour.
Alguém já passou por isso e conseguiu resolver o problema...
Acredito que sim, mas não encontrei uma resposta direta a este assunto aqui no forum.

Desde já agradeço a ajuda, segue o erro abaixo.

undefined reference to `HB_FUN_BEEP'
undefined reference to `HB_FUN_CONFIRME'
undefined reference to `HB_FUN_BLOQARQ'

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 19:56
por Jairo Maia
Esse sistema Clipper que você está tentando gerar em Harbour, aparentemente foi gerado pelo GASPRO. Está correto?

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 20:01
por ricardosierban
Não sei dizer, é um sistema feito a uns 25 anos passados e ao tentar rodar no Harbour aparece este 9e outros erros), mas estou resolvendo passo a passo.

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 20:13
por Jairo Maia
Creio que deve ser. Anexe esse arquivo ao projeto e veja se melhora:
GASP40HB.rar
(32.08 KiB) Baixado 354 vezes
Se resolver as funções que estão faltando, então conformará que foi gerado pelo GASPRO, e nesse caso, melhor é você usar o aplicativo Gas4Harbour.Exe desenvolvido pelo Toledo. Mas primeiro tente ver o que acontece incluindo esse arquivo a seu projeto.

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 20:53
por ricardosierban
Ok Jairo, vou testar e informo o resultado.
Obrigado.

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 21:22
por ricardosierban
lá, agora fiz certo, compilei o programas GASP40, mas os erros continuam...

C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x70): undefined reference to `HB_FUN_EXENAME'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x670): undefined reference to `HB_FUN_SETDATE'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x2310): undefined reference to `HB_FUN_WIN_PRINTERLIST'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x2350): undefined reference to `HB_FUN_WIN_PRINTFILERAW'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x2690): undefined reference to `HB_FUN_FT_SHADOW'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x40d0): undefined reference to `HB_FUN_SECONDSSLEEP'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4150): undefined reference to `HB_FUN_WIN_PRINTERGETDEFAULT'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4190): undefined reference to `HB_FUN_PREPIMP'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x41b0): undefined reference to `HB_FUN_INDTMP'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4230): undefined reference to `HB_FUN_FILTRA'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4250): undefined reference to `HB_FUN_CLASS'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x42b0): undefined reference to `HB_FUN_WIN_PRN'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4850): undefined reference to `HB_FUN_ARQGER'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4b10): undefined reference to `HB_FUN_INI_ARQ'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4c90): undefined reference to `HB_FUN_CANC'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x4e10): undefined reference to `HB_FUN_BROWSE_REL'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x50d0): undefined reference to `HB_FUN_NUMAT'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x50f0): undefined reference to `HB_FUN_CAPTURADIR'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x5110): undefined reference to `HB_FUN_TRATADIR'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x5190): undefined reference to `HB_FUN_HB_ZIPFILE'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x5210): undefined reference to `HB_FUN_HB_GETFILESINZIP'
C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o:gasp40hb.c:(.data+0x5230): undefined reference to `HB_FUN_HB_UNZIPFILE'
collect2.exe: error: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc.exe C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/gasp40hb.o C:/Users/Ricardo/AppData/Local/Temp/hbmk_2g2v5c.dir/hbmk_7tzw7b.o -mconsole -Wl,--start-group -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lhbmainstd -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -ogasp40hb.exe -LC:/hb30/lib/win/mingw64 -LC:/hb30/bin

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 22:12
por JoséQuintas
Não aparece dica no final indicando lib a acrescentar?
Tudo bem que vai faltar mais coisa, mas....

Ou esse é o Harbour mexido de alguma LIB?

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 13 Jan 2021 22:37
por ricardosierban
Olá josé, é o Harbour normal, que eu sempre usei testando propgramas feitos diretos, cmo Harbour.
O problema está ao tentar compilar um programa feito em Clipper.
Tento compilar o menu principal e dá este problema, ao tentar compilar partes/módulos separados também aparecem problemas.

o Harbour eu uso já a algum tempo e baixei do Source Forge = https://sourceforge.net/projects/harbour-project/

Quando compilo o menu principal e depois que o programa compila todos os prgs aparecem os erros abaixo...



No code generated.
hbmk2: Erro: Executando o compilador Harbour (interno): 1
(C:\hb30\bin\harbour.exe) -n2 maetmenu.prg -oC:\Users\Ricardo\AppData\Local\Temp\hbmk_8ia4i0.dir\ -iC:\hb30\include -undef:.ARCH. -D__PLATFORM__WINDOWS
-D__LITTLE_ENDIAN__ -D__ARCH64BIT__

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 14 Jan 2021 00:00
por Jairo Maia
Olá ricardosierban,

Todos os erros que você mostrou acima estão na maioria relacionado ao arquivo que pedi para você incluir e testar.

Remova esse arquivo de seu projeto, está bastante claro que seu antigo sistema não foi gerado pelo GASPRO, então, remova o arquivo de seu projeto.

NOTA:
Uma forma simples de você saber qual a versão de seu Harbour, é você digitar HBMK2 na linha de comando, e na primeira linha que aparecer após o HBMK2 será a versão e data de compilação de seu Harbour.

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 14 Jan 2021 09:59
por ricardosierban
Ok, obrigado, vou continuar verificando para ver como resolvo aqui.
Qualquer dúvida retorno no forum.

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 14 Jan 2021 11:19
por JoséQuintas
Se isso estiver certo, é versão 3.0, bem antiga, e com diferenças importantes com relação à atual.
(C:\hb30\bin\harbour.exe) -n2 maetmenu.prg -oC:\Users\Ricardo\AppData\Local\Temp\hbmk_8ia4i0.dir\ -iC:\hb30\include -undef:.ARCH. -D__PLATFORM__WINDOWS

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 14 Jan 2021 17:14
por ricardosierban
Sim, é esta versão, baixei do Source forge.
A pasta é criada automaticamente como c:hb30
Link: https://sourceforge.net/projects/harbour-project/

Caso exista outro link para baixar eu agradeço se me indicarem.
Tenho o hmg instalado também...
Eu deveria usar o Harbour de lá, já que é o HMG 3.5 ?

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 14 Jan 2021 17:28
por marcosgambeta
Ricardo,

Você pode usar esta compilação do código-fonte corrente:

https://sourceforge.net/projects/harbou ... s/nightly/

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 14 Jan 2021 17:58
por ricardosierban
Vou testar.

Obrigado Marco.

Erro HB_FUN aparece diversas vezes, como resolver ?

Enviado: 14 Jan 2021 18:06
por marcosgambeta
ricardosierban escreveu:undefined reference to `HB_FUN_BEEP'
undefined reference to `HB_FUN_CONFIRME'
undefined reference to `HB_FUN_BLOQARQ'
Ricardo,

Uma regra, ao adaptar uma aplicação Clipper para Harbour, é ter todo o código-fonte da aplicação, incluindo qualquer biblioteca extra utilizada.

Por biblioteca extra, me refiro às que não fazem parte do Clipper, mas são utilizadas na compilação da aplicação. Podem ter sido criadas por terceiros ou pelo próprio desenvolvedor do sistema, mas a aplicação depende delas para funcionar.

No seu caso, estão faltando funções chamadas BEEP, CONFIRME e BLOQARQ (ignore o HB_FUN_ nestes casos). Se estas funções não existem no código-fonte do sistema que está convertendo, elas podem fazer parte de alguma biblioteca extra.

Se for possível, mostre o conteúdo dos scripts de compilação usados no Clipper.