Página 1 de 1

instalar e configurar harbour e LIBs

Enviado: 31 Jul 2023 12:56
por JoséQuintas
Um jeito interessante:

Instalou o Harbour.
Precisa espalhar a notícia pelo computador.
Como faz isso?
configura PATH

Harbour não funciona sozinho, precisa do compilador C.
Instalou o compilador C.
Precisa espalhar a notícia pelo computador.
Como faz isso?
configura PATH

Até aqui, pra conferir, é só mudar pra pastas diferentes e digitar harbour ou hbmk2
Se acusar programa não encontrado é porque não acertou o PATH.

se tiver fonte na pasta, fonte padrão, é compilar.
Se não compilar fonte padrão, harbour não está instalado direito, faltou alguma coisa no PATH.
Ou seu fonte não é padrão, está usando mais coisas do que o harbour tem, harbour incompleto, etc.

Instalou HWGUI.
Não precisa espalhar a notícia, só o harbour é que precisa saber aonde está hwgui.
Como faz isso ?
O mais simples é instalar hwgui na pasta harbour/addons - mas não recomendo, porque se quiser trocar o harbour, pode apagar hwgui
Se não instalou em addons: o mais simples é indicar libpaths em harbour/bin/hbmk.hbc
Se não fez os anteriores: é indicar em CADA PROJETO, em CADA HBP, o PATH e o HWGUI.HBC

Instalou HMG, HMG EXTENDED, OOHG, ou outras.
geralmente dependem de tranqueiras que inventaram, BATs que inventaram, etc.
É configurar as tranqueiras que a LIB pede
Elas até tem HBP/HBC, mas podem inventar coisas diferentes pra ATRAPALHAR.
Se quiser, pode não ser tão fácil, pode criar o HBC das LIBs, indicando aonde estão as coisas da LIB, PATHS e nomes dos arquivos LIB.

É só lembrar do básico:

Instalou uma coisa, aquele coisa precisa ser encontrada, ou pelo sistema operacional, ou pelo harbour.
se é EXE, é pro sistema operacional: PATH
as outras coisas são para o harbour: HBMK.HBC

Resta só o projeto, mas isso é particular de cada projeto. Se o projeto usar uma lib, é indicar o HBC da LIB, se ela tiver um.
Se o projeto não achou.... é porque não tem no computador, ou indicou pasta errada, etc. relacionado a "essa coisa" que tá faltando.
Não precisa mexer no resto, só "nessa coisa", ou na indicação das pastas "dessa coisa".

Se a LIB tem EXE, por exemplo as IDEs, é avisar o sistema operacional, PATH

Mas a LIB isto, a LIB aquilo.... Veja com a LIB. Isso pode mudar de tempos em tempos, não adianta colocar detalhes aqui.

Convém lembrar um adicional:
Algumas coisas ainda estão presas a um uso antigo: HB_INSTALL_PREFIX
Convém configurar essa variável com o PATH do Harbour pra evitar imprevistos, principalmente se misturar várias versões de harbour no computador.
E tudo isso vale pra XHarbour, se usar HBMK2.

E muitos esquecem:
Se tem várias versões de harbour/xharbour espalhadas no computador, o sistema operacional vai procurar na pasta atual, e depois no PATH.
Vai usar a primeira que encontrar, não vai saber se é certa ou errada.

instalar e configurar harbour e LIBs

Enviado: 31 Jul 2023 13:21
por JoséQuintas
Separado, porque é MEU USO, É PESSOAL, pode servir como sugestão apenas

Código: Selecionar todos

d:\harbour\bin>set path
Path=...d:\harbour\bin;d:\harbour\comp\mingw32
Nem percebi, mingw nem está no PATH, está instalado em harbour/comp/mingw, deve ser por isso que não precisou PATH pra mingw

harbour\bin\hbmk.hbc

Código: Selecionar todos

mt=yes
gui=yes
strip=yes
fullstatic=yes
libpaths=d:/fontes/integra/libjpa
#PRGFLAGS=-m -n -w3 -es2 -ge1 -DMT_EXPERIMENTAL -DHB_NO_GTGUI=YES -DHB_NO_HWGUIDEBUG=YES -DHB_GC_AUTO
#PRGFLAGS=-m -n -w3 -es2 -ge1 -DHB_GC_AUTO
libpaths=d:/fontes/integra/sefazclass/sefazclass
libpaths=d:/fontes/integra/sefazclass/boletoclass
libpaths=d:/fontes/integra/sefazclass/wvgtest
libpaths=d:/fontes/integra/sefazclass/rmchartclass
libpaths=d:/github/hwgui
libpaths=d:/github/hmge
libpaths=d:/github/oohg
Esse acima é usado EM TUDO que eu compilar aqui, qualquer teste usa isso acima, por isso deixei em HMK.HBC na pasta harbour/bin
A linha comentada, é porque se eu apagar, meu programa de configuração coloca de volta. Serve pra misturar HWGUI e GTWVG, mas no momento está fora de uso.

Com isso posso compilar qualquer coisa: console, gtwvg, hwgui, hmg extended ou oohg.
Posso compilar qualquer coisa a qualquer momento, com qualquer lib.

Naquele novo projeto, uso 3 LIBs:

hbmk2 test hwgui.hbc
hbmk2 test hmge.hbc
hbmk2 test oohg.hbc

Se é o melhor jeito eu não sei, mas aqui funciona direitinho, pra mim foi o melhor.

Notas
Porque strip=yes. Assim reduz o EXE no mingw, nem sei se ainda precisa
Porque fullstatic=yes. No LINUX esse NÃO É o default, não depender de DLL, é apenas pra lembrar
Porque GUI=yes. Porque NÃO USO CONSOLE pra nada, nem pra teste.

Uso tudo sempre no mesmo lugar, e sempre do mesmo jeito.
Por isso criei um programa, que confere tudo, e configura se precisar.
Se eu apagar tudo, vém tudo de volta.
Se eu instalar do zero, ele instala e configura tudo.
E o que ele não resolver sozinho, ele me avisa.

Porque não fazem igual?

instalar e configurar harbour e LIBs

Enviado: 31 Jul 2023 14:51
por JoséQuintas
Como criar um programa pra conferir a configuração?

O que usamos ali.... PATH
O Harbour pode obter isso por GetEnv( "PATH" )
Pode separar a lista de PATHS, já que tem ";" entre cada PATH.
Pode verificar se encontra "harbour.exe", e "hbmk2.exe" e até compilador C nesses PATHs.

Do mesmo jeito pode conferir se tem a variável HB_INSTALL_PREFIX, e outras variáveis

Já que o HBMK.HBC na pasta harbour/bin pode resolver muitas coisas....
No teste anterior vai encontrar a pasta do harbour.
Um MemoRead() vai pegar o conteúdo desse arquivo, é só analisar.
Caso encontre LIBs indicadas, poderia conferir se as pastas existem e o conteúdo está lá.

E tá pronto, um programa pra conferir toda a instalação do harbour e de libs.
E pode avisar o que está faltando, aonde pegamos da vez anterior, em que pasta instalar, etc.

E como faz o programa?
Como assim? um programador perguntando como faz programa?
Peça para o seu programador kkkk