Eu ainda acho estranho se perderem pra configurar máquina, principalmente pra HBMK2.
A coisa é extremamente simples.
1) PATH pra EXEs
Pra funcionar um EXE a partir de qualquer pasta, precisa estar no PATH
Quais os EXEs do harbour ? harbour.exe, hbmk2.exe, compilador C, e algum utilitário extra, a IDE das LIBs por exemplo.
Exemplo:
SET PATH=%PATH%;d:\harbour\bin;d:\harbour\comp\mingw32\bin;d:\github\hmge\ide;d:\github\hwgui\ide\ide
2) PATH pra LIBs
Aqui considero o CERTO dividir em duas partes: A PASTA DA LIB e o resto da lib
O projeto precisa saber qual é a LIB, e não os detalhes sobre a LIB
Desta forma, basta indicar em HARBOUR\BIN\HBMK.HBC o PATH das LIBs.
Acaba funcionando parecido com o PATH do sistema operacional, mas vale para o HBMK2 apenas
Exemlo:
---HBMK.HBC---
libpaths=d:\github\hwgui
libpaths=d:\github\hmge
libpaths=d:\github\oohg
3) Necessidades da LIB
Aqui depende de cada lib, é onde vai indicar path de arquivos include,lib,etc.
Exemplo:
---HWGUI.HBC---
incpaths=include
libpaths=lib
{!hblib}libs=hwgui procmisc hbxml
4) Pode criar o HBP pra cada projeto com o que entra em cada projeto, ou compilar diretamente.
Exemplo:
HBMK2 teste.prg hwgui.hbc
---teste.hbp---
teste.prg
hwgui.hbc
Não importa o projeto, não importa a LIB, é só isso acima.
Se tem padrão de configuração PRA TODOS OS PROJETOS, coloque em HARBOUR\BIN\HBMK.HBC
Pode acrescentar aqui -m -n -w3 -es2 -compress -workdir=c:\temp e outras coisas mais
Se a LIB tem necessidades especiais, coloque em exemplo HWGUI.HBC
Aqui entram parâmetros QUE A LIB precisa, arquivos QUE A LIB precisa
Se o PROJETO tem necessidades especiais, coloque em exemplo PROJETO.HBP
Nomes de fontes, nomes de RCs, nomes de LIBs, etc.
programador pensa, programador cria, use o cérebro.
Dá falta de arquivo na compilação: se dá falta, é porque não colocou, é porque não existe, é porque PATH tá errado.
O arquivo é da hwgui ? isso tem a ver com hwgui, tá faltando indicar no hwgui.hbc
O arquivo é da hmg extended ? isso tem a ver com hmge, tá faltando indicar no hmge.hbc
Com tudo organizado, tudo funciona direito, e sabe exatamente aonde procurar.
Configurando a máquina
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Configurando a máquina
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Configurando a máquina
Por coincidência, acabou de dar erro no github, na minha geração completa de tudo.
Acusa falta de arquivo CH
Na minha máquina funciona.
Simples:
Como esse projeto é de LIB, deve estar faltando no HBP a indicação de harupdf.hbc, que é referente a lib dona desse ch.
E como isso faz parte do harbour, seria só isso mesmo.
Elementar também: se isso é parte da HMG Extended, e depende de harupdf.hbc, preciso disso TAMBÉM no HMGE.HBC
O programa final nem precisa saber disso, vai apenas indicar HMGE.HBC pra incluir HMG Extended, e o HBC dela que faça o resto.
Nota:
Nem é proposital.
É que tá configurado no github pra compilar tudo que eu faço.
Qualquer erro, em qualquer coisa, feita a partir de uma máquina do zero, ele me avisa.
É que está num projeto específico, então só aciona quando salvo nele.
Aí fica vindo email pra corrigir.
É..... a geração de tudo está na SEFAZCLASS, visível pra todo mundo, e o "bat" de geração do github está na máquina de todo mundo que baixa sefazclass. Todo mundo pode fazer a mesma coisa no github.
Acusa falta de arquivo CH
Na minha máquina funciona.
Simples:
Como esse projeto é de LIB, deve estar faltando no HBP a indicação de harupdf.hbc, que é referente a lib dona desse ch.
E como isso faz parte do harbour, seria só isso mesmo.
Elementar também: se isso é parte da HMG Extended, e depende de harupdf.hbc, preciso disso TAMBÉM no HMGE.HBC
O programa final nem precisa saber disso, vai apenas indicar HMGE.HBC pra incluir HMG Extended, e o HBC dela que faça o resto.
Nota:
Nem é proposital.
É que tá configurado no github pra compilar tudo que eu faço.
Qualquer erro, em qualquer coisa, feita a partir de uma máquina do zero, ele me avisa.
É que está num projeto específico, então só aciona quando salvo nele.
Aí fica vindo email pra corrigir.
É..... a geração de tudo está na SEFAZCLASS, visível pra todo mundo, e o "bat" de geração do github está na máquina de todo mundo que baixa sefazclass. Todo mundo pode fazer a mesma coisa no github.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Configurando a máquina
Continuando nisso:
Mesmo sabendo configurar, eu criei um programa que faz a conferência, e até configura pra mim, assim não esqueço.
O programa confere:
- variáveis de ambiente, cria se precisar
- PATH, altera se precisar
- confere se encontra harbour e mingw no PATH
- Cria e/ou altera o HBMK.HBC do harbour\bin
- assina os EXEs se precisar
Sua máquina é organizada ?
Deixa tudo sempre no mesmo lugar ?
Então... um programa pode conferir se tudo está lá.
Formatou a máquina, o programa confere.
No momento troquei o mingw 7.3 pra 16.3
Fica em harbour\comp\mingw32.
Fiz o teste de velocidade do harbour, reduziu de 17.5 pra 12.2 ou algo assim, então seguir com ele e acompanhar.
Fui na pasta da HMG Extended: C <ENTER>
Fui na pasta da HWGUI: C <ENTER>
Fui na pasta da OOHG: C <ENTER>
Fui na pasta de applicativos: ALL <ENTER> pra compilar sefazclass, rmchartclass, libjpa, wvg, etc. e aplicativos
O que tem no bat C.BAT ?
A chamada do meu aplicativo, que confere tudo e aciona o HBMK2 pra tudo que existir na pasta (ou HBP ou *.prg)
E o ALL.BAT ?
Muda pra pasta de cada aplicativo e aciona o C.BAT
Tem coisa mais simples que isso ?
Quer igual ? É só fazer uai, não é programador?
HMG Extended e OOHG são diferentes ? só na máquina de vocês, e só porque vocês querem.
Mas aí já é outra história....
Mesmo sabendo configurar, eu criei um programa que faz a conferência, e até configura pra mim, assim não esqueço.
O programa confere:
- variáveis de ambiente, cria se precisar
- PATH, altera se precisar
- confere se encontra harbour e mingw no PATH
- Cria e/ou altera o HBMK.HBC do harbour\bin
- assina os EXEs se precisar
Sua máquina é organizada ?
Deixa tudo sempre no mesmo lugar ?
Então... um programa pode conferir se tudo está lá.
Formatou a máquina, o programa confere.
No momento troquei o mingw 7.3 pra 16.3
Fica em harbour\comp\mingw32.
Fiz o teste de velocidade do harbour, reduziu de 17.5 pra 12.2 ou algo assim, então seguir com ele e acompanhar.
Fui na pasta da HMG Extended: C <ENTER>
Fui na pasta da HWGUI: C <ENTER>
Fui na pasta da OOHG: C <ENTER>
Fui na pasta de applicativos: ALL <ENTER> pra compilar sefazclass, rmchartclass, libjpa, wvg, etc. e aplicativos
O que tem no bat C.BAT ?
A chamada do meu aplicativo, que confere tudo e aciona o HBMK2 pra tudo que existir na pasta (ou HBP ou *.prg)
E o ALL.BAT ?
Muda pra pasta de cada aplicativo e aciona o C.BAT
Tem coisa mais simples que isso ?
Quer igual ? É só fazer uai, não é programador?
HMG Extended e OOHG são diferentes ? só na máquina de vocês, e só porque vocês querem.
Mas aí já é outra história....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/