-xhb é modo compatibilidade xharbour, mas na prática faz mais que isso.
É recomendado não usar, mas não impede de compilar, e é até comuns algumas LIBs acrescentarem SEMPRE.
Agora vamos ao harbour: (acho que também vale pra xharbour)
Aqui deixo fontes DO HARBOUR em D:\GITHUB\HARBOUR32
Gero o harbour para D:\HARBOUR
Você pode ter porrilhões de compiladores C no PATH, então acostume a deixar definido:
SET HB_INSTALL_PREFIX=c:\harbour
SET HB_COMPILER=mingw
Definido como mingw, vai gerar o harbour com mingw, e vai gerar as libs em harbour\lib\win\mingw
Definido como mingw, vai compilar com mingw, e buscar as libs em harbour\lib\win\mingw
Se bagunçar o compilador, ou se tiver no PATH outro compilador, E NÃO TIVER UM DEFAULT DEFINIDO, será usado o primeiro que aparecer.
De repente, gerou pra mingw e está tentando compilar com bcc... aí não vai encontrar as LIBs.
Com path errado, ou sem compilador definido, isso poderia acontecer.
Não deveria fazer diferença pra compilação, mas faz, HB_INSTALL_PREFIX
Também faz diferença o -xhb
HBMK2 tem o harbour embutido dentro dele, ele não precisa do harbour.exe
se usada a opção -xhb, será usado um harbour.exe externo, o que for encontrado no PATH
Esse também é o truque pra usar hbmk2 com harbour ou xharbour, o -xhb (e o HB_INSTALL_PREFIX)
Agora é conferir essas coisas básicas: HB_INSTALL_PREFIX, HB_COMPILER, e o PATH acaba sendo mais flexível, podendo ter mais paths do que deveria.
Código: Selecionar todos
d:\harbour\lib\win>dir
O volume na unidade D é TRABALHO
O Número de Série do Volume é C4CC-0221
Pasta de d:\harbour\lib\win
06/12/2023 05:05 <DIR> .
06/12/2023 05:05 <DIR> ..
06/12/2023 05:15 <DIR> mingw
0 arquivo(s) 0 bytes
Qualquer outro compilador vai acusar falta de lib.

