e pra projetos, colocar isso dentro de um arquivo.hbp
hbmk2 arquivo.hbp
além disso, pode colocar qualquer parâmetro do Harbour, -m -n -w3 -es2
indicar libs usando -l (L minúsculo)
indicar path de libs indicando -L
indicar path de include indicando -i
indicar pra compactar indicando -compr
E muitas outras coisas.
Em avançado, pode indicar conforme compilador ou sistema operacional, ou alguma coisa diferente
é apenas exemplo, porque pra lib pode usar arquivo HBC, que indica um conjunto de coisas, mas é um pouco diferente do HBP
por exemplo, criar um fivewin.hbc e nele indicar tudo que precisa pra fivewin.
{mingw}libpaths=\fivewin\lib\mingw
{bcc}libpaths=\fivewin\lib\bcc
incpaths=\fivewin\include
libs=fiveh fivecommon fiveother
depois no projeto, quando indicar fivewin.hbc entra toda essa configuração do fivewin
supondo que nada automático funcione pra xharbour, basta criar um xharbour.hbc contendo toda indicação de libs e paths de libs
ou na pasta do hbmk2, criar um hbmk.hbc contendo toda configuração padrão.
No modo automático, que é o padrão, ele sai buscando tudo automático.
Se quiser diferente, é só criar esses arquivos de configuração.
O que é automático:
- Ele pode pegar o compilador C pelo PATH, e já usa o compilador C que encontrar
- Ele acrescenta as LIBs padrão que conhece, da pasta harbour\lib ou harbour\contrib (lembrando que no XHarbour é semelhante)
- Se for GUI já acrescenta o que precisa
Etc. etc. etc. etc.
Pode também criar projeto com sub-projetos, assim compila vários projetos de uma vez - lembrando que -inc é incremental, pra só compilar o que foi alterado.
Tem a opção -quiet, que é pra só mostrar mensagens de erro, sem ficar detalhando toda compilação
etc etc etc
Vão longe os recursos.
É começar usando o básico, e com o tempo pode ir "sofisticando" e acabando com bats ou qualquer coisa similar.
HBMK2 pra XHarbour
Enviado: 16 Dez 2020 09:45
por JoséQuintas
O vídeo ficou meio longo, porque fiz na hora o teste.
Apenas instalei XHarbour, BCC, e comecei a fazer o vídeo.
Cometi vários erros durante o vídeo, erro de path, de nome, etc., mas tudo bem.... tá valendo...
Acaba mostrando erros básicos, que acontecem, e acaba mostrando o que houve de errado.
O gravador do Windows só grava a janela em uso, então, o editor de textos e alguns programas compilados não apareceram no vídeo na hora de executar, porque eram janelas diferentes.
usei o download mais prático do xharbour.org, que era o bcc, mas vale pra qualquer compilador C ou 32/64 bits.
é colocar no path, e caso não seja detectado automático, colocar lá manual o SET HB_COMPILER, ou corrigir o path... rs
E muito importante o SET HB_INSTALL_PREFIX, pra dizer a pasta raiz do (x)Harbour.
Comentários:
Em XHarbour, acaba sendo obrigatório acrescentar -xhb, mas já criaram um próprio pra XHarbour que não deve precisar disso.
Os exemplos aonde não compilou por faltar .ch.... não pesquisei senão o vídeo ia ficar mais demorado ainda.
Seria só procurar e acrescentar -Ipasta_do_ch, ou outra das várias opções, incluindo em \xharbour\bin criar um HBC indicando tudo que é pasta a ser pesquisada por LIBs, e nem precisar mais indicar no projeto ou no comando.
HBMK2 pra XHarbour
Enviado: 18 Dez 2020 13:30
por JoséQuintas
Pra acreditarem no HBMK2....
Não façam isso em casa....
Ao mesmo tempo, Harbour, XHarbour, bcc, mingw
Não tenho msvc, senão ia no vídeo também... rs
Lógico... tenho Harbour gerado com mingw, e XHarbour gerado com bcc, então, se compilar diferente vão faltar LIBs.
Então.... é disso que eu falo... todo mundo pode trabalhar igual.
O Harbour/Viktor sempre lembra do Xharbour e do BCC. Não é porque não tem Harbour 3.4 com bcc que ele vai remover isso do hbmk2...
Agora com o vídeo correto.
HBMK2 pra XHarbour
Enviado: 11 Jun 2021 11:13
por carlos_dornelas
José, acaso você baixou o hbmk2 para o xharbour? se sim, poderia me enviar uma cópia? Enviei o email solicitado no site, mas nao obtive retorno...
[]s
Antonio Carlos
HBMK2 pra XHarbour
Enviado: 11 Jun 2021 11:54
por JoséQuintas
Enquanto não consegue aquele, use direto o do Harbour 3.4.
É lembrar de acrescentar -xhb.
Ou pode testar de duas formas:
Em xharbour\bin\hbmk.hbc coloque -xhb
Variável HBMK_CMD=-xhb
Isso desativa o Harbour existente dentro do hbmk2 e usa o Harbour.exe externo.
Significa que se não colocar o -xhb vai compilar usando o Harbour 3.4.
Meus projetos estão todos ainda no xharbour 0.9970 e utilizo o hbmake para compilar. Por um problema em minha máquina 32 bits, resolvi testar em um lap top com windows 10 64 bits. Nesse lap top o hbmake não roda pois parece-me que internamente se utiliza do EDIT.COM, que não tem mais suporte em 64 bits.
Então estou tentando somente substituir somente o hbmake para o hbmk32, para tentar dar uma sobre-vida aos projetos com o xharbour 0.9970.
Para iniciar os testes, apenas salvei o hbmk2.exe na pasta do xharbour\bin
@echo off
set Path=%Path%;c:\desen\xBase\BCC55\BIN;c:\desen\xBase\BCC55\LIB;c:\desen\xBase\xHarbour\BIN;c:\desen\xBase\xHarbour\LIB;
set Include=%Include%;c:\desen\xBase\xHarbour\include;c:\desen\xBase\BCC55\Include;
xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.orghttp://www.harbour-project.org/
Compiling 'alo.prg'...
Lines 12, Functions/Procedures 1
Generating C source output to 'C:\Users\Carlos\AppData\Local\Temp\hbmk_q7i8xt.dir\alo.c'...
Done.
C:\Users\Carlos\AppData\Local\Temp\hbmk_q7i8xt.dir\alo.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Unable to open file 'DBFNSX.LIB'
hbmk2[alo]: Error: Running linker. 2
ilink32.exe @C:\Users\CArlos\AppData\Local\Temp\zpguzf.lnk
Acusa a falta de 'DBFNSX.LIB'
No xharbour, nesses projetos, nunca utilizei a NSX para meus indices...
Pergunto: tenho como inibir no hbmk2 a procura por essa lib?
[]s
Antonio Carlos
HBMK2 pra XHarbour
Enviado: 13 Jun 2021 21:37
por JoséQuintas
Existe essa LIB?
Apenas indique o Path dela -Lpath
HBMK2 pra XHarbour
Enviado: 13 Jun 2021 21:56
por carlos_dornelas
Existe essa LIB?
Existir provavelmente exista para que, se utilizar os indices NSX, ela seja linkeditada...
Acho que por padrão o hbmk2 procure por ela... mas como não a tenho (a lib) compilada para o xharbour .9970 e nao preciso dela no meu projeto, eu gostaria de saber se tem como o hbmk2 ignorá-la...
[]s
Antonio Carlos
HBMK2 pra XHarbour
Enviado: 14 Jun 2021 03:24
por JoséQuintas
Não lembro se tem opção pra isso.
A alternativa é criar uma LIB tapa-buraco.
-hblib é pra compilar como lib
-odbfnsx é pra ser gerado com esse nome ("o" de output-saída)
HBMK2 pra XHarbour
Enviado: 14 Jun 2021 11:12
por carlos_dornelas
Quintas, bom dia!
O "tapaburaco" funcionou!! Avancei bastante na migração para o hbmk2... O problema que não consegui ainda resolver é com relação aos recursos, arquivos .RC. Relacionei todos eles no arquivo .HBP e são processados pelo Hmk2, o executável é gerado normalmente, mas não está exibindo as imagens...
Alguma dica com relação à forma correta de proceder em relação ao Hbmk2 e os .RCs?
Pra MySQL e RC, a barra invertida "\" é uma espécie de função, indica que o próximo caractere é pra ser usado como está.
\\ acaba indicando o caractere "\", são duas barras que significam uma só.
HBMK2 pra XHarbour
Enviado: 14 Jun 2021 16:07
por carlos_dornelas
Não sei se aceita número, mas vai descobrir já já... rs