Clipper On Line • Ver Tópico - HBMK2 pra XHarbour

HBMK2 pra XHarbour

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 29 Nov 2020 22:59

Encontrei nestes dias.

hbmk2.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 30 Nov 2020 12:11

Só relembrando, basicamente é colocar a lista de fontes, de tudo que é tipo, que entra no EXE:

hbmk2 arquivo.prg arquivo.rc arquivo.res arquivo.c

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

{win}-L\fivewin\lib
{linux}-L\hwgui\lib
{mingw}-L\fivewin\lib\mingw
{bcc}-L\fivewin\lib\bcc

é 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 16 Dez 2020 09:45

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.

https://www.youtube.com/watch?v=AVpgSjsZe_A&feature=youtu.be

José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 16 Dez 2020 13:11

Não mostrar o resultado do programa compilado fica chato.
Então criei a parte dois.

https://www.youtube.com/watch?v=7ietWBqeVqA&t=248s



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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 18 Dez 2020 13:30

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.

https://www.youtube.com/watch?v=q-VrokIY-3c&list=PLDVZ9887sLmv_BlaJqBHmRMmSJXQzF7cw&index=15



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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor carlos_dornelas » 11 Jun 2021 11:13

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
carlos_dornelas
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 392
Data de registro: 25 Ago 2004 21:54
Curtiu: 0 vez
Mens.Curtidas: 10 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 11 Jun 2021 11:54

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor carlos_dornelas » 13 Jun 2021 15:25

Boa tarde!

Consegui o hbmk2.exe de http://whosaway.com/

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

Fiz um PRG teste:
Function main()
clear
for g=1 to 10
   @ 05+g,10 say "alo mundo"
next
inkey(0)


Criei um arquivo >HBP
alo.prg


Fiz um .BAT para setar o PATH:
@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;


Aciono a compilação com:
HBMK2 -xhb alo.hbp


Mas tenho o seguinte erro:

xHarbour Compiler build 0.99.70 (SimpLex)
Copyright 1999-2006, http://www.xharbour.org http://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
carlos_dornelas
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 392
Data de registro: 25 Ago 2004 21:54
Curtiu: 0 vez
Mens.Curtidas: 10 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 13 Jun 2021 21:37

Existe essa LIB?
Apenas indique o Path dela -Lpath
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor carlos_dornelas » 13 Jun 2021 21:56

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
carlos_dornelas
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 392
Data de registro: 25 Ago 2004 21:54
Curtiu: 0 vez
Mens.Curtidas: 10 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 14 Jun 2021 03:24

Não lembro se tem opção pra isso.
A alternativa é criar uma LIB tapa-buraco.

//--- test.prg
FUNCTION Tapaburaco()
   RETURN Nil


e no prompt
hbmk2 test.prg -hblib -odbfnsx


-hblib é pra compilar como lib
-odbfnsx é pra ser gerado com esse nome ("o" de output-saída)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor carlos_dornelas » 14 Jun 2021 11:12

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?

Grato

Antonio Carlos
carlos_dornelas
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 392
Data de registro: 25 Ago 2004 21:54
Curtiu: 0 vez
Mens.Curtidas: 10 vezes

HBMK2 pra XHarbour

Mensagempor carlos_dornelas » 14 Jun 2021 11:53

No meu arquivo .RC está assim:

13301 BITMAP  "\super\botoes\stilo_03\smoth_301.bmp"
13302 BITMAP  "\super\botoes\stilo_03\smoth_302.bmp"
13303 BITMAP  "\super\botoes\stilo_03\smoth_303.bmp"


O arquivo .RC fica na mesma pasta dos .PRGs

No .HBP preciso informar também o arquivo .RES?

Fiz o teste informando também o .RES, mas aí dá erro informando que o .RES nao foi localizado...

[]s
carlos_dornelas
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 392
Data de registro: 25 Ago 2004 21:54
Curtiu: 0 vez
Mens.Curtidas: 10 vezes

HBMK2 pra XHarbour

Mensagempor JoséQuintas » 14 Jun 2021 12:56

Não sei se aceita número, mas vai descobrir já já... rs

13301 BITMAP  "\super\botoes\stilo_03\smoth_301.bmp"


Pra ficar universal, troque pra barra dupla

13301 BITMAP  "\\super\\botoes\\stilo_03\\smoth_301.bmp"


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ó.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

HBMK2 pra XHarbour

Mensagempor carlos_dornelas » 14 Jun 2021 16:07

Não sei se aceita número, mas vai descobrir já já... rs


Você se refere ao 13301 da linha:

13301 BITMAP "\\super\\botoes\\stilo_03\\smoth_301.bmp"


Se for, uso assim com o hbmake...

[]s
carlos_dornelas
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 392
Data de registro: 25 Ago 2004 21:54
Curtiu: 0 vez
Mens.Curtidas: 10 vezes

Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 13 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro