Baixar o Harbour

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

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Baixar o Harbour

Mensagem por JoséQuintas »

O que era fixo, não está mais tão fixo.
Parece que de tempos em tempos o roteiro de baixar o Harbour se altera.

O principal: a página do projeto

Harbour 3.2: https://github.com/harbour/core

Harbour 3.4: https://github.com/vszakats/harbour-core

Nos dois, o link também já abre o README, é que sempre esquecemos de descer a página e olhar pra baixo.
Tem lá instrução pra tudo.

Em ambos os casos, ao pesquisar "binaries", chegamos ao endereço de download

Harbour 3.2 binários: https://sourceforge.net/projects/harbou ... s/nightly/

Harbour 3.4 binários: https://github.com/vszakats/harbour-cor ... hot-win.7z

Convém destacar o seguinte:
Pode ser interessante manter o compilador C no computador, porque geralmente ele é uma parte que não se altera com frequência.
Os compiladores costumam ser instalados em \harbour\comp

Aqui mantenho a pasta \harbour\comp que contém:

\harbour\comp\msvc2010
\harbour\comp\mingw32

O harbour em si pode ser o mesmo pra qualquer compilador C, mas o sucesso depende de existirem as LIBs adequadas ao compilador escolhido.
Aqui tenho:
\harbour\lib\win\mingw
\harbour\lib\win\mingw64
\harbour\lib\win\msvc

Então, se quiser um Harbour pronto pra qualquer compilador C, teria que ter o que se refere aos compiladores C nessas duas pastas: \HARBOUR\COMP e \HARBOUR\LIB

Convém lembrar também, que o Harbour usa o que estiver definido em PATH pra algumas escolhas automáticas.
E dependendo do compilador, vale também o que estiver definido em LIB, OBJ, INCLUDE, etc.
Isso sempre foi assim, mesmo no CLIPPER, então não há do que reclamar nesta parte.

E se for gerar o Harbour do zero, pode acabar precisando indicar algum algo mais na configuração.

Aqui deixo tudo resolvido com estas variáveis, pra msvc2010:

Código: Selecionar todos

SET HB_COMPILER=msvc
SET HB_COMPILER_VER=1600
SET HB_INSTALL_PREFIX=d:\harbour
SET HB_LANG=EN
SET INCLUDE=d:\harbour\comp\msvc2010\include
SET LIB=d:\harbour\comp\msvc2010\lib
SET PATH=d:\harbour\bin;d:\harbour\comp\msvc2010\bin;d:\tools\útil
o UPX, pra compactar, não faz parte do Harbour, aqui deixo em d:\tools\util
Pra assinar, não faz parte do Harbour, aqui deixo em d:\tools\signtool, e um BAT em d:\tools\util resolve a configuração de PATH

Só explicando as variáveis:
Definindo nome e versão do compilador C, caso não detecte automático

Código: Selecionar todos

SET HB_COMPILER=msvc
SET HB_COMPILER_VER=1600
Pasta de instalação/geração do Harbour

Código: Selecionar todos

SET HB_INSTALL_PREFIX=d:\harbour
Idioma, deixo em inglês pra facilitar pra mim

Código: Selecionar todos

SET HB_LANG=EN
Aonde vai procurar .CH, se não existir na pasta atual ou nas pastas pré-definidas do Harbour - lembrando que isso vale para o Harbour e para o compilador C, e que o hbmk2 do Harbour já inclui pastas padrão

Código: Selecionar todos

SET INCLUDE=d:\harbour\comp\msvc2010\include
Mesma coisa, referente às LIBs - valendo pra Harbour e para o compilador C, e que o hbmk2 do Harbour já inclui pastas padrão

Código: Selecionar todos

SET LIB=d:\harbour\comp\msvc2010\lib
Isto é coisa do sistema operacional: se o EXE a ser executado não existir na pasta atual, pesquisa numa dessas pastas
O Harbour aproveita estes paths pra tentar encontrar o que precisa também.

Código: Selecionar todos

SET PATH=d:\harbour\bin;d:\harbour\comp\msvc2010\bin;d:\tools\útil
O Harbour também tem componentes opcionais, que precisam configuração extra, e download extra.
Eu uso só a parte padrão, então só configuro o que mencionei.

No geral é isso.
O mais importante é lembrar o endereço do Harbour, porque lá tem o README com tudo.
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/
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Baixar o Harbour

Mensagem por Softwhouse »

José, esse harbour é para 64 bits? Instalei e ao executar o HBMK2 é informado que hbmk2.exe não é um aplicativo Win32 válido.
Fernando
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Baixar o Harbour

Mensagem por JoséQuintas »

Deve estar descrito no readme, mas se não me engano lembro de ter lido em algum lugar que o default pronto do Harbour 3.4 passou a ser em 64 bits.

Acho que deveria continuar sendo 32 bits, que funciona em qualquer lugar.
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/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Baixar o Harbour

Mensagem por JoséQuintas »

Aproveitando...
Com essa mesma configuração da minha máquina.

Aqui baixo os fontes em:

Código: Selecionar todos

d:\cvsfiles\vszakats
pra gerar o Harbour

Código: Selecionar todos

cd \cvsfiles\vszakats
win-make clean install
De vez em quando apago toda pasta do harbour, DEIXANDO a pasta harbour\comp
Se apagar essa, o(s) compilador(es) C vão embora junto.... rs
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/
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Baixar o Harbour

Mensagem por Fernando queiroz »

nao consegui fazer a compilacao com exito do harbour 3.4 para win 32

baixei a versao binaria mas para win64, ate compilou algumas coisas mas deu muitos erros

depois baixei o source para win32 e nao consegui fazer nada

vamos la:

meu ambiente

Código: Selecionar todos

@echo off
set path=C:\hb34\bin;C:\hb34\comp\mingw\bin;%path%
set HB_COMPILER=mingw
SET HB_PATH=c:\hb34
SET HB_INSTALL_PREFIX=c:\hb34
SET HB_LANG=EN
SET INCLUDE=c:\hb34\comp\mingw\include
SET LIB=c:\hb34\comp\mingw\lib
cd\bene\sgchb
%SystemRoot%\system32\cmd.exe
pergunta ? teho de baixar a versao para win64 para ter algumas coisas que faltam quando baixo somente os fontes

tenho de descompactar em uma pasta diferente de c:\hb34 pois descompactei para win64 na c:\hb34

resultado da compilacao usando somente WIN-MAKE

Código: Selecionar todos

C:\hb34>win-make
! Building Harbour 3.4.0dev from source
! MAKE: win-make 4.1 'sh.exe'
! HB_INSTALL_PREFIX: c:\hb34
! HB_HOST_PLAT: win (x86)  HB_SHELL: nt
! HB_PLATFORM: win (x86) (auto-detected)
! HB_COMPILER: mingw (v0304)
! Component: 'zlib' found in C:/hb34/src/3rd/zlib (local)
! Component: 'pcre2' not found. Configure with HB_WITH_PCRE2.
! Component: 'pcre' found in C:/hb34/src/3rd/pcre (local)
! Component: 'gpm' not supported on win platform
! Component: 's-lang' not found. Configure with HB_WITH_SLANG.
! Component: 'curses' not found. Configure with HB_WITH_CURSES.
! Component: 'x11' not found. Configure with HB_WITH_X11.
! Component: 'wattcp/watt-32' not supported on win platform
win-make[1]: Nothing to be done for 'all'.
win-make[1]: Nothing to be done for 'all'.
! 'hbdossrl' library skipped (platform or compiler not supported)
gcc -I. -I../../../../../../include -c -W -Wall -O3 -fno-ident -fomit-frame-pointer -m32 -DUNICODE -IC:/hb34/src/3rd/zlib -DPNG_NO_STDIO -opng.o ../../../png.c
process_begin: CreateProcess(NULL, gcc -I. -I../../../../../../include -c -W -Wall -O3 -fno-ident -fomit-frame-pointer -m32 -DUNICODE -IC:/hb34/src/3rd/zlib -DPNG_NO_STDIO -opng.o ../../../png.c, ...) failed.
make (e=2): O sistema nÒo pode encontrar o arquivo especificado.
../../../../../../config/rules.mk:98: recipe for target 'png.o' failed
win-make[4]: *** [png.o] Error 2
../../../config/lib.mk:72: recipe for target 'descend' failed
win-make[3]: *** [descend] Error 2
../../config/dir.mk:71: recipe for target 'png' failed
win-make[2]: *** [png] Error 2
../config/dir.mk:71: recipe for target '3rd' failed
win-make[1]: *** [3rd] Error 2
config/dir.mk:71: recipe for target 'src' failed
win-make: *** [src] Error 2

C:\hb34>
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

Baixar o Harbour

Mensagem por Fernando queiroz »

a versão 3.2 eu tenho, funcionando perfeitamente, agora queria ter a 3.4 também , mas não tem ela pronta para win32 somente para win64 por isso estou tentando instalar a partir dos fontes.

queria um caminho das pedras tipo:

onde pegar os fonte para win32: ( ja peguei )

onde descompactar , se na mesma pasta da versao win64 ou criar uma pasta separada para win32. (pergunta meio idiota , mas é que o pacote com os fontes não tem varias coisas que tem no pacote para win64 tipo win-make.exe)

copiar o pacote win32 em cima da pasta com win64?
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Baixar o Harbour

Mensagem por rochinha »

:-Y
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Baixar o Harbour

Mensagem por asimoes »

Valeu Hazael,

Tá bem explicado
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Baixar o Harbour

Mensagem por JoséQuintas »

Só complementando:

O Harbour 3.4 baixado é 64 bits, pronto pra gerar aplicativos em 32 ou 64 bits.
O "compilador" Harbour não limita o uso em mingw ou 64 bits, serve pra gerar EXE em qualquer plataforma.
O que limita é a existência das bibliotecas prontas, e do compilador C instalado.

Recapitulando como funciona o Harbour:

- transforma seus PRGs em fonte C, para o compilador C que escolher, e para 32/64, o que escolher.
- compila usando o compilador C escolhido e 32/64 bits
- linquedita, usando as bibliotecas conforme o compilador C escolhido e 32/64 bits

Então você vai precisar:

- O Harbour, gerado seja como for (msvc, mingw, 32 bits, 64 bits, etc. tanto faz)
- O compilador C que vai usar pra gerar SEUS EXES
- As LIBs em LIB\WIN\XXXX que sejam compatíveis com o que vai usar no SEU EXE.

Não sei quanto a 32/64 bits, mas quanto ao compilador C, as LIBs ficam em lib/win/msvc ou lib/win/mingw

Uma coisa é gerar o Harbour, e outra coisa é usar o Harbour pra gerar o SEU EXE.

Lógico... ao gerar o Harbour já são geradas as LIBs compatíveis.
Se gerar o Harbour pra msvc, já vai ter prontas as LIBs pra msvc.

Pessoalmente, prefiro o Harbour 3.4
Mais que isso: arrisco a dizer que enquanto as LIBs não seguirem o padrão do Harbour 3.4, não haverá futuro para as LIBs e nem para o Harbour.
Enquanto esse dia não chegar, é usar qualquer coisa como quebra-galho, ou trocar de linguagem de programação.

Nota: se a LIB fosse compatível com Harbour 3.4, e seguisse o padrão dele, estaria dentro do Harbour, e não fora dele.
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/
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Baixar o Harbour

Mensagem por rochinha »

Amiguinhos,
Mais que isso: arrisco a dizer que enquanto as LIBs não seguirem o padrão do Harbour 3.4, não haverá futuro para as LIBs e nem para o Harbour.
Enquanto esse dia não chegar, é usar qualquer coisa como quebra-galho, ou trocar de linguagem de programação.

Nota: se a LIB fosse compatível com Harbour 3.4, e seguisse o padrão dele, estaria dentro do Harbour, e não fora dele.
JoseQuintas
Eu uso a 0.45 com Borland 5.82 e estou feliz, tenho a 3.2 implantada para migração, mas tenho a 3.4 para o futuro.

Gostaria muito de uma explicação melhor sobre o tal padrão.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Baixar o Harbour

Mensagem por JoséQuintas »

Simples:

Tudo que se mostra no Windows usa funçòes da API do Windows.
Qualquer que seja a LIB, faz isso.
TODAS tem rotina pra isso.

Se a rotina aceita tipos existentes no Harbour, pode ser usada diretamente no Harbour.
E rotinas adicionais podem ser feitas, em Harbour, fazendo uso dessas rotinas.
Ou seja, maior flexibilidade em tudo, e programador Harbour pode criar recursos extras.
É exatamente assim que funciona o Harbour 3.4.

Como são as LIBs fora do Harbour:
Rotinas em C compatíveis com elas mesmas.
Isso limita a quem programa em C fazer alguma modificação.
Também acaba exigindo mais e mais rotinas, sempre em C, pra continuarem compatíveis.

Com compatibilidade: qualquer programador Harbour pode inventar
Sem compatibilidade: depende de uma ou duas pessoas fazerem alguma coisa.

Basicamente é isso.

Enquanto a GTWVW nem aparece no Harbour 3.2, fica em extras, no Harbour 3.4 faz parte de contribuições e é compatível com codepage.
Enquanto a GTWVG usa rotinas em C no Harbour 3.2, que não podem ser usadas numa boa no Harbour, no 3.4 usa funcões da hbwin, compatíveis com Harbour, e com mais opções para o programador Harbour
Enquanto o uso de ftp não funcionava direito no Harbour 3.2, funcionava direito no Harbour 3.4
Enquanto o uso de email não funcionava direito no Harbour 3.2, funcionava direito no Harbour 3.4
Todo site do Harbour, incluindo a documentação, foi repaginada pelo Viktor, do Harbour 3.4
Tudo que é feito no Harbour 3.2 também é feito no Harbour 3.4, mas não o contrário.

Poderia ser diferente, e depender só do Harbour.
As poucas mentes brilhantes, trabalhando só no básico dentro do Harbour.
E muitas mentes, brilhantes ou não, trabalhando só com Harbour e inventando.

O único caminho pra isso se chama padronização.
Se não tem padronização, não dá.

O xHarbour também é um bom exemplo disso.
Cresceu sem padrão, e agora está impedido de crescer.

Até mesmo para o C++ existe um padrão.
Não foi à toa que o Borland C ficou de fora.
Como usar novas vantagens do C++ padronizado, mantendo compatibilidade com C++ antigo?
Não dá.
Não estou falando de versões novas, e sim de padrão, existe padrão também pra linguagem C++.
Até a Microsoft tem que seguir esse padrão.

https://isocpp.org/

Muitos aqui usam versões mais antigas do Harbour/xHarbour pra não ter que mexer nos fontes e correr o risco de estragar, e acabam ficando fora do padrão.
O mesmo acontece com os "masters" do Harbour e de bibliotecas.
O jeito seria correr o risco, pra poder padronizar.
Quem acompanha changelog pode verificar o que acontece no Harbour 3.4

De qualquer jeito precisamos de todos os "masters", do Harbour e de LIBs, nossa única opção é usar o que fizeram pra nós, do jeito que der, com ou sem padrão.
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Baixar o Harbour

Mensagem por asimoes »

Atualização de hoje Harbour 3.4 fork
- win-make.exe
% stop distributing the last binary inside the Harbour source
repository. It was required for non-mingw C compilers on the
Windows plaform. Besides being a maintenance burden, it's not
safe to distribute executable blobs inside a source repository
and nowadays it became very easy to get a working version of
native Windows build of GNU Make. It's part of MSYS2 and
mingw-w64 standalone distros. (avoid any non-native builds,
like Cygwin, though)
Win-Make foi removido.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Baixar o Harbour

Mensagem por JoséQuintas »

Uau.

Já copiei o win-make.exe pra minha pasta \tools\util.
Ficou como auxiliar, igual upx.exe, e já fica no PATH.
Assim continua tudo como antes, pelo menos até ver as alternativas.
É provável que cada compilador C tenha sua opção pra isso.
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/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Baixar o Harbour

Mensagem por asimoes »

Quintas

Você pode usar mingw32-make para gerar uma versão MSVC
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Baixar o Harbour

Mensagem por JoséQuintas »

Estava esperando terminar uma geração pra testar com esse, e deu certo.
O make do msvc2010 não serve.

Quem não usar mingw, melhor guardar o win-make.exe atual.
No meu caso, o mingw foi só depois de começar a fazer testes com LIBs gráficas, senão seria só msvc.
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/
Responder