Parece que isso ainda causa confusão.
Tinha o Clipper.
O Clipper era compilado com determinada linguagem C.
Precisávamos LIBs compativeis com o Clipper/linguagem C já embutida no Clipper.
Tem o xHarbour.
Podemos usar, por exemplo, com BCC.
Se quisermos usar fivewin, vamos precisar das LIBs do fivewin pra xHarbour+Bcc
Tem o Harbour
Podemos usar, por exemplo, com BCC
Se quisermos usar fivewin, precisamos das LIBs do fivewin pra Harbour + BCC
O Harbour tem o HBMK2 que facilita compilação.
Ele não faz mágica, ele vai precisar por exemplo, do Harbour, compilador BCC, e LIBs do fivewin pra Harbour+BCC
O mesmo acontece com HMG, HMG Extended, GTWVG, HWGUI, QT, etc.
O conjunto INTEIRO precisa ser compatÃvel.
Deve ser levado em conta pra compatibilidade:
- Harbour 3.2, 3.4 ou xHarbour
- Compilador C - msvc, bcc, mingw
- Biblioteca: o que ela aceita dos Ãtens acima
O resto... alguma incompatilidade adicional, dá-se um jeito
Então vamos lá, do que conheço:
Harbour 3.4: Não aceita BCC, então não adianta querer usar BCC ou LIB que só aceite BCC
HMG: Não aceita MSVC, então não adianta querer usar MSVC
OOHG: Não aceita MSVC 2010, então não adianta querer usar MSVC 2010
LIBUI: Só aceita MSVC 2013
Fivewin liberado grátis: só aceita BCC e talvez só xHarbour (sinceramente não sei se tem pra Harbour)
Quer usar esse fivewin grátis? se só aceita xHarbour e BCC, não adianta querer usar no Harbour, ou mingw, ou msvc
Quer usar HMG? não adianta Harbour com msvc
Quer usar lIBUI? só se usar msvc 2013
Tem Harbour e mingw:
Ok, pode usar HMG, HMG Extended, OOHG, HWGUI.
E talvez precise ajustar diferenças entre Harbour 3.2 e 3.4, dependendo do Harbour que queira usar.
É todo conjunto que deve ser analisado.
Como usar Harbour + LIB:
Isso é tradicional:
Seus fontes: poderia indicar *.prg
os arquivos de include: indicar a pasta aonde eles estão, pode ser mais de uma
as LIBs: indicar o nome da lib e a pasta, pode ser mais de uma
Exemplos:
hbmk2 \aplicativo\*.prg -i\hmg\include -lhmg3-L\hmg\lib
fivewin tem 3 libs, ok, indicar as tres libs, mas todas estão na mesma pasta:
hbmk2 \aplicativo\*.prg -i\hwgui\include -lhwgui -lprocmis -lxml -L\hwgui\lib
gtwvg tem um arquivo pronto que já indica tudo o gtwvg.hbc
hbmk2 \aplicativo\*.prg gtwvg.hbc
Não há como fugir disso:
é indicar pastas de include, pastas de lib, e nomes de libs.
tudo precisa estar na mesma versão de compilador (x)Harbour, e na mesma versão de compilador C.
Importante também:
Não basta pegar um Harbour pronto e colocar o compilador C que quiser.
Também precisa das LIBs do Harbour compatÃveis com esse compilador C.
Se o Harbour veio pronto pra mingw, é pra mingw que ele está pronto, e tem LIBs pra mingw.
E importante:
Como dá pra perceber, a variação de combinações pode ser grande.
Eu mesmo, não faço a menor idéia do que é preciso pra usar XHarbour, e nem me importo, porque NÃO USO XHarbour.
Cada um deve conhecer o que usa.
Mas deve conhecer esse conceito básico, para o caso de querer trocar as ferramentas de uso.
É preciso ter todo conjunto compatÃvel.