MIGAR BRMAKE x HBMK2

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

Moderador: Moderadores

Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

Boa tarde, Srs. eu já compilo utilizando o BRMAKE, criei um arquivo.HBP espelhando o arquivo.MLK, depois de varias correções enrosquei nesse erro:

hbmk2: Linking... SALWIN.exe
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_errno' referenced from C:\MINIGUI\HARBOUR\LIB\ZIPARCHIVE.LIB|zipfile
hbmk2[SALWIN]: Error: Running linker. 2

Esclareço que se eu compilar com o BRmake vai certinho ?

:'(

HASA
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

MIGAR BRMAKE x HBMK2

Mensagem por rubens »

Hasa...

Eu compilo com esse HBP aqui... ve se ajuda alguma coisa ...
SISTEMA_HASA.prg
(919 Bytes) Baixado 113 vezes
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MIGAR BRMAKE x HBMK2

Mensagem por JoséQuintas »

Código: Selecionar todos

Error: Unresolved external '_errno' referenced from C:\MINIGUI\HARBOUR\LIB\ZIPARCHIVE.LIB|zipfile
hbmk2[SALWIN]: Error: Running linker. 2
Esse erro, como seria no Clipper, ou em qualquer linqueditor, é que está faltando a função _errno(), que está sendo usada nessa LIB.

Simplificando o uso de hbmk2 seria o seguinte:

1. Colocar a lista de PRGs, um por linha, pelo jeito já fez isso
2. Colocar -m, senão a busca automática pode duplicar fontes
3. Colocar as LIBs necessárias, se for LIB que contenha HBC, coloque o HBC, senão -lnome_da_lib
Exemplo: gtwvg.hbc ao invés de -lgtwvg

A diferença em usar HBC é que isso já inclui outros arquivos relacionados com a LIB.
Por exemplo, esse ziparchive.lib pode depender de outra LIB, que se existir um HBC já vai estar indicado lá.

E tem opções a mais que vai poder usar no hbmk2, como compactar EXE, definir pastas das LIBs, definir pastas dos CH, definir arquivos CH extras que não foram definidos nos fontes com #Include, definir "tolerância zero" -w3 -es2, etc.

O hbmk2 faz a parte de juntar o que foi indicado. LIBs padrão ele busca automático, mas se ele não conhece algo, não tem como buscar automático, só se estiver indicado no hbp.
Não achou, não entra na linquedição, e se precisava, então dá erro de função não encontrada.
Foi isso que aconteceu.

Confirme o que tem a mais indicado no brmake, e se for necessário, indique aonde encontrar a LIB e os arquivos CH.

Código: Selecionar todos

-Lc:\minigui\pasta_das_libs\
-Ic:\minigui\pasta_dos_includes\
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/
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por Toledo »

Verifique no arquivo BRMAKE.INI as LIBs que você está utilizando e compare com as LIBs que estão no HBP.

Encontrei alguma referência de '_errno' em uma LIB do BCC55, no arquivo c:\borland\bcc55\lib\cw32.lib.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

:)) :*
Amigos, muito obrigado vou juntar todas as dicas e com certeza conseguirei, valeu mesmo.
HASA
:{ :)Pos
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

:))
Toledo, na mosca, era a falta dessa lib mesmo, consegui, obrigado.
:*
HASA
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

:))
Srs. consegui compilar com bcc55, quando tento mudar para migw32 aparentemente as libs não são localizadas, o pior é que são as libs originais da instalação, creio que estou setando o path corretamente, vou seguindo na luta.
:-O
HASA
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

MIGAR BRMAKE x HBMK2

Mensagem por JoséQuintas »

As LIBs ficam em \harbour\lib\win\mingw ou \harbour\lib\win\bcc ou \harbour\lib\win\msvc
Verifique se tem as LIBs geradas para o mingw

Só a título de curiosidade:

Uma coisa é gerar o Harbour, o Harbour funciona pra qualquer compilador C.
Mas outra coisa é ter as LIBS do Harbour pra qualquer compilador C - lógico, e o compilador C.

\harbour\comp\xxxxx => os compiladores C, vai ter só os que instalar
\harbour\lib\win\xxxxx => as LIBs pra cada compilador C, vai ter só as que gerar o Harbour

Se quiser todas:
gerar Harbour pra mingw, pra msvc, pra bcc, cada geração vai colocar as LIBs na pasta \harbour\lib\win\xxxxxx
Nas demais pastas, não importa qual compilador foi usado.
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MIGAR BRMAKE x HBMK2

Mensagem por asimoes »

Mingw as libs tem extensão .a
BCC e MSVC tem extensão .lib

Tem que ver se harbour compilado tem as libs para os 3 compiladores C

Ou você pode baixar a versão compilada do harbour que já é compilada com o mingw 6.1
►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 do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

:-O
Asimoes e José, baixei do forum da minigui do link do Asimoes, Minigui 16.07 para migw32 com Harbour 3.4, interessante que o hbmk2 está reclamando do path na compilação do sistema, mas... eu gero 2 lib´s proprias e nelas não deu o erro, estou comendo bola, vou rever agora, obrigado.
:)Pos
HASA
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

:-O :(
Amigos, achei meu erro na situação anterior, agora uma nova lista apareceu:

C:/MiniGui/Lib/libminigui.a(h_controlmisc.o):h_controlmisc.c:(.text+0xc00): multiple definition of `_HB_FUN_CFILEPATH'
OBJ/SALWIN.o:SALWIN.c:(.text+0x160): first defined here
OBJ/SALWIN.o:SALWIN.c:(.data+0x118): undefined reference to `_HB_FUN_HB_SETCODEPAGE'
OBJ/SALWIN.o:SALWIN.c:(.data+0x8e8): undefined reference to `_HB_FUN_HB_OSNEWLINE'
OBJ/SALWIN.o:SALWIN.c:(.data+0x1ce8): undefined reference to `_HB_FUN_LOADLIBRARY'
OBJ/SALWIN.o:SALWIN.c:(.data+0x1cf8): undefined reference to `_HB_FUN_GETPROCADDRESS'
OBJ/SALWIN.o:SALWIN.c:(.data+0x1d08): undefined reference to `_HB_FUN_CALLDLL'
OBJ/SALWIN.o:SALWIN.c:(.data+0x1d18): undefined reference to `_HB_FUN_FREELIBRARY'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0xa38): undefined reference to `_HB_FUN_HB_OSNEWLINE'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0xd08): undefined reference to `_HB_FUN_WIN_PRINTFILERAW'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1198): undefined reference to `_HB_FUN_PRINTREADY'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1328): undefined reference to `_HB_FUN_TURL'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1348): undefined reference to `_HB_FUN_TIPCLIENTHTTP'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x13d8): undefined reference to `_HB_FUN_HB_SETCODEPAGE'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1648): undefined reference to `_HB_FUN_OS_ISWINVISTA'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1658): undefined reference to `_HB_FUN_OS_ISWIN9X'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1668): undefined reference to `_HB_FUN_QUERYREGISTRY'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1678): undefined reference to `_HB_FUN_OS_ISWINNT'
OBJ/FUNCOES.o:FUNCOES.c:(.data+0x1688): undefined reference to `_HB_FUN_WAPI_ISUSERANADMIN'

Seria funções que não existem no Harbour 3.4 ?
:'(
HASA
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MIGAR BRMAKE x HBMK2

Mensagem por asimoes »

Hasa,

Já te digo uma: HB_OSNEWLINE no harbour 3.4 é hb_eol, recomendo você olhar o changelog do harbour e procurar estas funções e ver a equivalente.
►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 do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

:-O
Asimoes, obrigado vou ver sim, agora uma coisa me chamou a atenção, ao compilar o Hbmk2 informou que eu estava informando uma lib Ex: hbtip.a e que não deveria informar no hbp assim: lhbtip, então retirei e abaixo achei isso:
hbmk2: Hint: Add input file 'hbtip.hbc' for missing Harbour function(s): TIPClientHTTP(), TUrl(), porem esse arquivo hbtip.hbc está na pasta contrib, devo copiar e colar na pasta lib do harbour ?

:-O :(

HASA
Avatar do usuário
HASA
Colaborador
Colaborador
Mensagens: 1088
Registrado em: 01 Set 2003 19:50
Localização: São Paulo
Contato:

MIGAR BRMAKE x HBMK2

Mensagem por HASA »

:'(
ASimoes, eu instalei atraves desse seu link https://pctoledo.org/forum/viewto ... 45&t=17383, e não tem o changelog do harbour nessa instalação, onde posso encontra-lo?
:-O

HASA
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

MIGAR BRMAKE x HBMK2

Mensagem por asimoes »

Hasa,

A compilação com hbmk2 sempre dá dica quando tá faltando linkar alguma lib,
Veja sempre o hint.

Neste caso é só incluir hbtip.hbc no seu .hbp ou .hbm, e ir vendo pelo hint quais outros .hbc são necessários para gerar o executável

hbmk2: Hint: Add input file 'hbtip.hbc'

O hbc é um atalho para os includes necessários que são usados pela lib além da própria lib
►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)
Responder