Página 1 de 2
MIGAR BRMAKE x HBMK2
Enviado: 15 Jul 2016 17:22
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
MIGAR BRMAKE x HBMK2
Enviado: 15 Jul 2016 19:56
por rubens
Hasa...
Eu compilo com esse HBP aqui... ve se ajuda alguma coisa ...
Rubens
MIGAR BRMAKE x HBMK2
Enviado: 15 Jul 2016 21:24
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\
MIGAR BRMAKE x HBMK2
Enviado: 16 Jul 2016 08:30
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,
MIGAR BRMAKE x HBMK2
Enviado: 19 Jul 2016 15:47
por HASA

) :*
Amigos, muito obrigado vou juntar todas as dicas e com certeza conseguirei, valeu mesmo.
HASA
:{ :)Pos
MIGAR BRMAKE x HBMK2
Enviado: 22 Jul 2016 10:37
por HASA

)
Toledo, na mosca, era a falta dessa lib mesmo, consegui, obrigado.
:*
HASA
MIGAR BRMAKE x HBMK2
Enviado: 22 Jul 2016 17:56
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
MIGAR BRMAKE x HBMK2
Enviado: 22 Jul 2016 20:14
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.
MIGAR BRMAKE x HBMK2
Enviado: 22 Jul 2016 20:28
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
MIGAR BRMAKE x HBMK2
Enviado: 23 Jul 2016 09:10
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
MIGAR BRMAKE x HBMK2
Enviado: 23 Jul 2016 10:06
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
MIGAR BRMAKE x HBMK2
Enviado: 23 Jul 2016 10:32
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.
MIGAR BRMAKE x HBMK2
Enviado: 23 Jul 2016 11:00
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
MIGAR BRMAKE x HBMK2
Enviado: 23 Jul 2016 11:09
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
MIGAR BRMAKE x HBMK2
Enviado: 23 Jul 2016 11:26
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