Clipper On Line • Ver Tópico - Arquivos pra HMG extended

Arquivos pra HMG extended

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

Moderador: Moderadores

 

Arquivos pra HMG extended

Mensagempor JoséQuintas » 24 Jan 2017 22:30

A intenção é substituir aquelas bost. de arquivos que fogem do padrão Harbour e confunde tudo.

- Baixar Harbour 3.2 Nightly ( já vem com mingw 5.3)
- Opcionalmente, Harbour 3.4, fontes, pra compilar com essa mingw 5.3

Uma vez tudo certo com o Harbour, prossegue com minigui extended

- Baixar minigui extended 16.13 ( é a que existe pra download )

- Configurar a pasta dela, exemplo

SET MG_ROOT=C:\MINIGUI


rodar mgconfig.bat
Exatamente os que uso na minha máquina, por isso algo diferente.

--------------- mgconfig.bat
@echo off
rem MG_ROOT = pasta root da minigui
rem

IF "%MG_ROOT%"=="" GOTO :help

set PATH=%PATH%;%MG_ROOT%

if %USERDOMAIN%==JOSEJPA set PATH=%PATH%;d:\harbour\comp\mingw\bin
if %USERDOMAIN%==JOSEJPA set HB_COMPILER=mingw
if %USERDOMAIN%==JOSEJPA set HB_COMPILER_VER=
GOTO :End

:help
echo First define MG_ROOT
echo example: SET MG_ROOT=c:\minigui
:goto :End

:End


Rodar a criação da minigui.
Notem que ele cria um HBP nas pastas.
Infelizmente nada tem padrão: Até o Harbour 3.2 é diferente do 3.4, então deste jeito vai permitir ajustes extras nos hbp, aonde precisar
No geral é criar a lista de fontes da pasta, e indicar pastas de include/lib.
O bat compila os HBP existentes, ou cria um default e compila.

-----mgcreate.bat
@echo off
if "%1" == "" goto :CreateAll

:CreateSingle
echo.
echo ----------%2.LIB Begin Creation
echo.
cd %MG_ROOT%\%1
if exist %2.hbp goto :compile
for %%A in (*.prg) do echo %%A >> %2.hbp
for %%A in (*.c)   do echo %%A >> %2.hbp
echo -hblib                    >> %2.hbp
echo -o%MG_ROOT%\LIB\%2        >> %2.hbp
echo -I%MG_ROOT%\INCLUDE       >> %2.hbp
rem JoseQuintas specific configuration
if %USERDOMAIN%==JOSEJPA  echo -workdir=c:\temp >> %2.hbp
:compile
hbmk2 %2.hbp -I%MG_ROOT%\INCLUDE
cd %MG_ROOT%
echo.
echo ----------%2.LIB End Creation
echo.
pause Next LIB
goto :FIM

:CreateAll
call %0 SOURCE            MINIGUI
call %0 SOURCE\PROPGRID   PROPGRID
call %0 SOURCE\PROPSHEET  PROPSHEET
call %0 SOURCE\TSBROWSE   TSBROWSE
call %0 SOURCE\SOCKET     SOCKET
call %0 SOURCE\MINIPRINT2 MINIPRINT2
call %0 SOURCE\QHTM       HMG_QHTM
call %0 SOURCE\WINREPORT  WINREPORT
call %0 SOURCE\DEBUGGER   DEBUGGER
goto :FIM

:FIM


Por fim, arquivos auxiliares pra compilar pequenos exemplos, com até 9 parâmetros opcionais, que podem ser fontes, libs, ou parâmetros mesmo.

----------mgcompile.bat
hbmk2 %1 %2 %3 %4 %5 %6 %7 %8 %9 -L%MG_ROOT%\lib -I%MG_ROOT%\include %MG_ROOT%\mglink.hbp



[code]
----------mglink.hbp
#to compile samples hmg

#-lcputype
-ldebugger
-lhmg_qhtm
-lminigui
-lminiprint2
#-lprocinfo
-lpropgrid
-lpropsheet
-ltsbrowse
-lWinReport

#need trash function Charrem() on h_Browse
-lhbct
-strip
-compr
-mt


É tudo arquivo padrão Harbour.
Se tiver LIB da minigui pra acrescentar, é só acrescentar pasta e nome na lista do bat mgcreate.bat, e no mglink.hbp

Se precisar ajustar, por exemplo a lib winreport que usa PDF, só ajustar o hbp
No Harbour 3.2: acrescentar pasta de include e a lib -Ipasta_hbhpdf_include -Lpasta_hbhpdf_lib
No Harbour 3.4: acrescentar hbhpdf.hbc

Não sei exatamente as diferenças entre Harbour 3.2 e 3.4, apenas os testes me fizeram lembrar de algumas delas.

No Harbour 3.2 também é obrigatório indicar HB_INSTALL_PREFIX com a pasta do Harbour.
Definir pasta de instalação do Harbour deveria ser só pra geração do Harbour, é assim no Harbour 3.4, mas não no Harbour 3.2

São essas coisinhas que atrapalham os programadores Harbour.
Como o pessoal tem que ficar compatível com Harbour 3.2, Harbour 3.4 e xHarbour, acabam criando coisas diferentes dos três.

A consequência é simples:
Ninguém aprende nada, fica todo mundo perdido com as LIBs, e um não pode ajudar o outro, porque é tudo diferente, e cada um usa uma coisa.
Nem parece que todo mundo usa Harbour.....

Importante:
isto serviu pra HMG Extended, Harbour 3.2 e 3.4 com mingw 5.3 (a que vém junto com Harbour 3.2)
Só precisei anular uma linha em c_media.c, porque não sei como resolver e não deixava compilar.

ISTO NÃO ALTERA OS ARQUIVOS ORIGINAIS DA LIB, apenas os binários (LIBs .A )
Confirmando que deu tudo certo, pode apagar muiiiiitos BATs das pastas, mais de 600
Se deu errado, ou se precisar, só gerar as LIBs como sempre fez, do jeito original.

Uma coisa é certa:
Sendo Harbour padrão, é igual pra todo mundo, não importa que lib seja usada.
Aí todo mundo vai "falar a mesma língua" quando se tratar de Harbour.

Usar biblioteca diferente já deixa a programação diferente, não precisa também alterar a forma de uso do Harbour.
Já passou da hora dos usuários cobrarem isso das bilbiotecas, ou de algum usuário contribuir com isso..

Não é só recurso novo que faz a ferramenta ficar melhor e a ferramenta de trabalho também precisa de manutenção

Parece até piada, faltar recursos do Harbour original, quando nem precisa trocar de Harbour.

Bom divertimento.

Nota:
Cobrem, ou enviem, alterações de/para os autores da LIB.
Eu continuo não gostando dessas LIBs, estou apenas fazendo testes simples.
Já sei que vou perder recursos que uso hoje, mas ainda não sei se as vantagens vão compensar as perdas.
Pelo menos mantendo o Harbour original evita perdas maiores.
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor JoséQuintas » 25 Jan 2017 00:49

A coisa é mais fora do padrão do que parecia.
As LIBs não são obrigatórias, então, por exemplo ao compilar dbview dá duplicidade de funções.

Também esqueci do -gui na linquedição, o que libera o programa da janela do prompt.

Por essas e outras.... arquivos atualizados.

Agora as LIBs vão ficar em lib\win\mingw, ou lib\win\bcc, dependendo do compilador.
o compilador é definido igual no Harbour, variável de ambiente HB_COMPILER
Agora são só os BATs mesmo.

Este primeiro quase nem precisava, só coloca o PATH da minigui

----------mgconfig.bat
@echo off
rem MG_ROOT = pasta root da minigui
rem minigui\harbour - 3.2 apenas pra gerar minigui caso use 3.4
rem minigui no path - pra funcionar o COMPILE.BAT
rem

IF "%MG_ROOT%"=="" GOTO :help

set PATH=%PATH%;%MG_ROOT%

if %USERDOMAIN%==JOSEJPA set PATH=%PATH%;d:\harbour\comp\mingw\bin
if %USERDOMAIN%==JOSEJPA set HB_COMPILER=mingw
if %USERDOMAIN%==JOSEJPA set HB_COMPILER_VER=
GOTO :End

:help
echo First define MG_ROOT
echo example: SET MG_ROOT=c:\minigui
:goto :End

:End


Na criação, adicionei a pasta conforme compilador, e opção de rebuild pra recriar os hbps (precisei disso aqui nos testes)
Só lembrando: criar uma lib não acusa falta de funções. Só vai acusar falta de funções no uso. O uso será o teste final sobre sucesso na criação da lib.

---------mgcreate.bat
@echo off
if "%MG_ROOT%"=="" goto :help
if "%1" == "" goto :CreateAll
if "%1" == "rebuild" goto :CreateAll

:CreateSingle
echo.
echo ----------%2.LIB Begin Creation
echo.
cd %MG_ROOT%\%1
if not exist %MG_ROOT%\lib\win\minigui.* md %MG_ROOT%\lib\win
if not exist %MG_ROOT%\lib\win\minigui.* md %MG_ROOT%\lib\win\%HB_COMPILER%
if exist %2.hbp if "%3" == "rebuild" del %2.hbp
if exist %2.hbp goto :compile
for %%A in (*.prg) do echo %%A    >> %2.hbp
for %%A in (*.c)   do echo %%A    >> %2.hbp
echo -hblib                       >> %2.hbp
echo -o%MG_ROOT%\LIB\WIN\%HB_COMPILER%\%2 >> %2.hbp
echo -I%MG_ROOT%\INCLUDE          >> %2.hbp
rem JoseQuintas specific configuration
if %USERDOMAIN%==JOSEJPA  echo -workdir=c:\temp >> %2.hbp
:compile
hbmk2 %2.hbp -I%MG_ROOT%\INCLUDE
cd %MG_ROOT%
echo.
echo ----------%2.LIB End Creation
echo.
pause Next LIB
goto :FIM

:CreateAll
call %0 source            minigui       %1
call %0 source\propgrid   propgrid      %1
call %0 source\propsheet  propsheet     %1
call %0 source\tsbrowse   tsbrowse      %1
call %0 source\socket     socket        %1
call %0 source\miniprint2 miniprint2    %1
call %0 source\qhtm       hmg_qhtm      %1
call %0 source\winreport  winreport     %1
call %0 source\debugger   debugger      %1
goto :FIM

:HELP
echo mg_root not defined
echo run mgconfig.bat
:FIM


E o BAT de compilaçào, se limita a adicionar a lib minigui e nenhuma outra
O que estava no hbp agora está na linha de comando, já que ficou relativamente pouca coisa

----------mgcompile.bat
hbmk2 %1 %2 %3 %4 %5 %6 %7 %8 %9 -lminigui -lhbct -gui -mt -strip -compr -L%MG_ROOT%\lib\win\%HB_COMPILER% -I%MG_ROOT%\include


Só repassando os parâmetros, que são normais do Harbour:

-l com "L" minúsculo, indica uma LIB
-i com "I" minúsculo, indica um arquivo ch (não usado no bat)
-L com "L" maiúsculo, indica pasta aonde procurar LIB (além das "padrão")
-I com "I" maiúsculo, indica pasta aonde procurar CH (além das "padrão")
-gui porque é ambiente gui, senão fica preso a uma janela de prompt
-mt pra liberar o uso de multithread. Se vai usar multithread ou não, não importa
-compr pra compactar o EXE

Nota:
Tem pelo menos 3 LIBs que não tem fonte, e só tem em formato LIB.
Pelo nome da pasta (XLIB), deve ser pra xHarbour: calldll.lib, cputype.lib, dll.lib
Complicado isso: tem CallDll() no Harbour, tem CallDll() na biblioteca de compatibilidade xHarbour, tem CallDll() na lib da minigui...
Isso deve gerar cada probleminha difícil de resolver.... rs
Mingw acusa duplicidade de funções em LIBs, mas acho que msvc e bcc não. Não lembro disso. Significa que na execução pode estar sendo usada a função errada - quem manda duplicar isso.... rs
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor JoséQuintas » 26 Jan 2017 23:07

versão 9.0 dos arquivos de compilação....rs
Comecei a deixar direcionado ao meu uso, porque tava dando trabalho.
Agora salvei em d:\tools\util, pra já ficar no PATH, e ter backup
Agora sim.... começou a ficar do jeito que eu gosto.... rs

pra que inventar MG_ROOT, melhor visualizar tudo de uma vez no Windows

d:\TOOLS\UTIL>set hb

HB_COMPILER=mingw
HB_INSTALL_PREFIX=d:\harbour
HB_LANG=EN
HB_MINIGUI=d:\cvsfiles\miniguix


Configuracão básica, pro meu uso, pra trocar de msvc pra mingw também

rem ----------mgconfig.bat
set HB_MINIGUI=d:\cvsfiles\miniguix
set PATH=%PATH%;d:\harbour\comp\mingw\bin
set HB_COMPILER=mingw
set HB_COMPILER_VER=
set HB_INSTALL_PREFIX=d:\harbour


Criação das LIBs, que no BCC já se sabe que tem pelo menos 3 arquivos adicionais, mas aqui não consta
Até usei um recurso "novo" que pesquisei hoje, que é várias linhas pra um único comando
As LIBs ficam em pastas igual ao Harbour, separadas por compilador C

@echo off
rem ----------mgcreate.bat
if "%HB_MINIGUI%"=="" goto :help
if "%HB_INSTALL_PREFIX%"=="" goto :help
if "%HB_COMPILER%"=="" goto :help
if "%1" == "" goto :CreateAll
if "%1" == "pause" goto :CreateAll

:CreateSingle
echo.
echo ----------%2.LIB Begin Creation
echo.
cd %HB_MINIGUI%\%1
del c:\temp\*.c
del c:\temp\*.obj
del c:\temp\*.o
if not exist %HB_MINIGUI%\lib\win\minigui.* md %HB_MINIGUI%\lib\win
if not exist %HB_MINIGUI%\lib\win\minigui.* md %HB_MINIGUI%\lib\win\%HB_COMPILER%

hbmk2  ^
   *.prg  ^
   *.c  ^
   -hblib  ^
   -o%HB_MINIGUI%\LIB\WIN\%HB_COMPILER%\%2  ^
   -I%HB_MINIGUI%\INCLUDE  ^
   hbhpdf.hbc  ^
   -inc  ^
   -workdir=c:\temp

cd %HB_MINIGUI%
echo.
echo ----------%2.LIB End Creation
echo.
if "%1" == "pause" pause Next LIB
goto :fim

:CreateAll
call %0 source            minigui       %1
call %0 source\propgrid   propgrid      %1
call %0 source\propsheet  propsheet     %1
call %0 source\tsbrowse   tsbrowse      %1
call %0 source\socket     socket        %1
call %0 source\miniprint2 miniprint2    %1
call %0 source\qhtm       hmg_qhtm      %1
call %0 source\winreport  winreport     %1
call %0 source\debugger   debugger      %1
call %0 source\hbprinter  hbprinter     %1
call %0 source\miniprint  miniprint     %1
rem call %0 source\dll        dll           %1
goto :fim

:help
echo Need HB_MINIGUI, HB_INSTALL_PREFIX, HB_COMPILER, PATH
echo run mgconfig.bat
:fim


E a compilação básica, que atende muitos dos exemplos.

rem ---------- mgcompile.bat
hbmk2 %1 %2 %3 %4 %5 %6 %7 %8 %9  ^
   -lminigui  ^
   -lminiprint  ^
   -lhbct  ^
   -n  ^
   -m  ^
   -mt  ^
   -inc  ^
   -strip  ^
   -compr  ^
   -L%HB_MINIGUI%\lib\win\%HB_COMPILER%  ^
   -I%HB_MINIGUI%\include  ^
   -workdir=c:\temp


A partir daí, só acrescentar o que precisar.
Como exemplo, pra compilar o SUPER, sem nenhum outro arquivo adicional, apenas o BAT acima e este comando
mgcompile *.prg *.c -osuper xhb.hbc hbziparc.hbc hbct.hbc 


Estou usando Harbour 3.4, o mesmo que uso há alguns anos, que vém sendo atualizado
Instalei o compilador mingw 5.3 que vém no Harbour 3.2 na pasta harbour\comp\mingw
Gerei o Harbour pra mingw, pra ter as LIBs

Caso fosse do zero, pra eu refazer minha instalação::
Baixar a HMG extended, e instalar em d:\cvsfiles\miniguix
E a partir daí, só os BATs acima

Acho que nem precisa dizer, mas dá pra fazer uma limpeza muito boa nas pastas da miniguix agora.

Nota: chamei de miniguix, pra não confundir com minigui

Esqueci: Pra Harbour 3.4.
Precisa alterar c_media.c, porque dá falta de MCIWndCreate() ou algo assim
Precisa alterar o samples\applications\super\superchef.prg e comentar esta linha:
         // set multiple off warning


Como exemplo de possíveis erros, caso no superchef não acrescente as LIBs que faltam, aqui a mensagem de erro parcial:

c:/temp/backup.o:backup.c:(.data+0x188): undefined reference to `_HB_FUN_HB_ZIPFILE'
d:/cvsfiles/miniguix/lib/win/mingw/libminigui.a(h_winprop.o):h_winprop.c:(.data+0x98): undefined reference to `_HB_FUN_HB_ISNIL'
bmk2: Hint: Add input file 'xhb.hbc' for missing Harbour function(s):
       HB_ISNIL()
hbmk2: Hint: Add input file 'hbziparc.hbc' for missing Harbour function(s):
       hb_ZipFile()
hbmk2: Hint: Add input file 'hbct.hbc' instead of specifying raw library using
       '-lhbct' or 'libs=hbct'.


Comparando com o comando completo, pelo menos nesse exemplo, foi só seguir as instruções

mgcompile *.prg *.c -osuper xhb.hbc hbziparc.hbc hbct.hbc 
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor JoséQuintas » 26 Jan 2017 23:21

Acho que faltou dizer:

Minha máquina está configurada para Harbour 3.4 com msvc.

Esteja aonde estiver, digito:
mgconfig


E pronto, máquina configurada pra minigui extended e mingw

Esteja aonde estiver, digito:

mgcreate


E pronto, todas as LIBs da minigui extended são recriadas

Entro em qualquer pasta de exemplo, digito:

mgcompile *.prg *.c


E caso não seja gerado de primeira, verifico na mensagem de erro, sobre o que está faltando e acrescento na linha de comando.

Como opcional, dá pra alterar o BAT com o sinal de maior > pra direcionar o comando para um arquivo hbp por exemplo.., pra deixar algo salvo em disco.
Mas nem sei se vale a pena encher de arquivos nas pastas, desse jeito fica mais fácil de atualizar alguma coisa, caso seja necessário.

Sugestão:
Pra ajustar pra BCC, pode ser interessante usar a variável HB_COMPILER nos BATs, assim continua funcionando em mingw
Tomara que algum dia funcione com msvc também.
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor JoséQuintas » 26 Jan 2017 23:45

Adicionei as 3 LIBs do bcc na compilação, foi o jeito que me veio à cabeça.

rem ---------- mgcompile.bat
if "%HB_COMPILER%" == "bcc" set TMP_BCC=-lcalldll -lcputype -ldll -L%HB_MINIGUI%\xlib
hbmk2 %1 %2 %3 %4 %5 %6 %7 %8 %9  ^
   -lminigui  ^
   -lminiprint  ^
   -lhbct  ^
   -n  ^
   -m  ^
   -mt  ^
   -inc  ^
   -strip  ^
   -compr  ^
   -L%HB_MINIGUI%\lib\win\%HB_COMPILER%  ^
   -I%HB_MINIGUI%\include  ^
   %TMP_BCC% ^
   -workdir=c:\temp
set TMP_BCC=


Explicação:

if "%HB_COMPILER%" == "bcc" set TMP_BCC=-lcalldll -lcputype -ldll -L%HB_MINIGUI%\xlib


Se o compilador for bcc, crio essa variável só pra poder adicionar no comando seguinte.
-l inclui as libs (L minúsculo)
-L inclui o path dessas libs (L maiúsculo)

Não testado ainda com bcc.
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor JoséQuintas » 27 Jan 2017 09:50

Faltou um aviso pra quem seguir o roteiro:

As LIBs originais ficam em \minigui\lib

É necessário colocá-las no lugar certo, por exemplo \minigui\lib\win\bcc, \minigui\lib\win\mingw

Senão o hbmk2 vai usar sempre as mesmas.
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor cl@udio » 27 Jan 2017 12:04

Bom dia JoseQuintas
Você poderia passar os caminhos de onde baixou.
Para eu baixar dos mesmos lugares.
Obrigado
cl@udio
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 88
Data de registro: 25 Jan 2007 15:47
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Arquivos pra HMG extended

Mensagempor JoséQuintas » 27 Jan 2017 13:19

Sem complicação.

hmg extended, do site dela

http://www.hmgextended.com/download.html

Baixei a do BCC.

O Harbour 3.2, pra pegar o mingw 5.3, baixei seguindo o site do Harbour

https://harbour.github.io/

opção: download, nightly builds, cliquei em "to download harbour build click here"

Isso abriu a página do source-forge do Harbour

binaries windows, nightly, aparece pra baixar.

https://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/

Esse instalei apenas pra pegar o compilador C, e evitar ficar procurando
Se vai usar 3.2, até aqui já basta.
Copiei a pasta harbour\comp\mingw pra minha pasta padrão.

O Harbour 3.4 eu já tinha na máquina, é abrir o site do Harbour 3.4, e clicar em download, vai baixar todos os fontes

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

Gerar Harbour é o de sempre, depende um pouco do compilador, mas no geral é:

SET HB_INSTALL_PREFIX=d:\harbour = pasta aonde será gerado o Harbour final
SET HB_COMPILER=mingw = compilador C que vai ser usado pra geração e/ou compilação
SET PATH=%PATH%;aqui a pasta do Harbour\bin e do compilador C, atenção para o caso de já ter algum Harbour/Compilador diferente do PATH, senão bagunça
win-make clean install

É isso.
Praticamente entrar no site de cada "fabricante", e seguir opções pra baixar.
E colocar no PATH as pastas que contém EXEs que vai usar.

Na minha máquina agora:
\harbour -> o harbour gerado
\harbour\comp\mingw -> compilador mingw 5.3 (vou poder usar pra Harbour e minigui)
\harbour\comp\msvc -> compilador msvc 2010 (só vou poder usar pra Harbour sozinho)
\harbour\comp\bcc -> compilador bcc (não vou usar pra nada, só deixei aí por enquanto)
\harbour\lib\win\msvc -> libs pra msvc
\harbour\lib\win\mingw -> libs pra mingw
\miniguix -> a hmg extended
\miniguix\lib\win\mingw -> libs minigui pra mingw
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor cl@udio » 27 Jan 2017 15:09

Só uma duvida.
Este harbour que baixei já esta compilado.
Eu teria que setar as variáveis para compilar a HMG somente.
cl@udio
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 88
Data de registro: 25 Jan 2007 15:47
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Arquivos pra HMG extended

Mensagempor JoséQuintas » 27 Jan 2017 15:52

Vamos por etapa.

Pra usar o Harbour, geralmente a gente configura compilador e path
set HB_COMPILER=mingw
set PATH=%PATH%;c:\harbour\bin;c:\harbour\mingw\bin
set HB_INSTALL_PREFIX=\harbour

pronto, Harbour sendo usado.

Pra minigui:
SET HB_MINGUI=c:\minigui
E recompilar as libs da minigui só por precaução
Só usar aqueles bats.

Só uma pequena correção no bat mgcompile.bat, nada grave, só pra não fazer o que não precisa.
O teste se a pasta existe tinha ficado imcompleto, então sempre ia tentar criar a pasta
if not exist %HB_MINIGUI%\lib\win\%HB_COMPILER%\minigui.* md %HB_MINIGUI%\lib\win\%HB_COMPILER%
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor cl@udio » 27 Jan 2017 18:20

Boa tarde
Consegui gerar as lib's.
Mas compilando alguns samples.
Deu falta destas funções.
Qual lib esta faltando?

hbmk2: Erro: Referenciado, faltando, mas funções desconhecida(s):
_HMG_PRINTER_INITUSERMESSAGES(), _HMG_PRINTER_PRINTDIALOG(),
_HMG_PRINTER_SETJOBNAME(), _HMG_PRINTER_STARTDOC(),
_HMG_PRINTER_STARTPAGE_PREVIEW(), _HMG_PRINTER_STARTPAGE(),
_HMG_PRINTER_H_PRINT(), _HMG_PRINTER_ENDPAGE_PREVIEW(),
_HMG_PRINTER_ENDPAGE(), _HMG_PRINTER_SHOWPREVIEW(),
_HMG_PRINTER_ENDDOC(), _HMG_PRINTER_H_IMAGE(), _HMG_PRINTER_H_LINE()
cl@udio
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 88
Data de registro: 25 Jan 2007 15:47
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Arquivos pra HMG extended

Mensagempor JoséQuintas » 07 Fev 2017 19:35

Desculpem, não vi que tinha uma mensagem que não era minha, ia apagar o post inteiro.

É que os BATs agora valem pra HMG, HMG Exended, OOHG e HWGUI.

.
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor cl@udio » 07 Fev 2017 20:18

Se for pelas minhas mensagens, pode apagar sem problemas.
cl@udio
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 88
Data de registro: 25 Jan 2007 15:47
Curtiu: 1 vez
Mens.Curtidas: 0 vez

Arquivos pra HMG extended

Mensagempor JoséQuintas » 07 Fev 2017 21:20

Não tenho acesso a isso.
Só posso apagar mensasgem minha, e somente se for a última.
Olhei o post, e acabei não vendo a sua.
Fui apagando de trás pra frente.
É que a sua acabou ficando sem a resposta.

É que agora os BATS são pra HMG, OOHG, HWGUI e HMG Extended, deixaram de ser só pra HMG extended.
Foi só por isso.
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: 18007
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos pra HMG extended

Mensagempor microvolution » 10 Fev 2019 14:00

Nobres professores.
Hoje resolvi baixar a HMG-E do site oficial "hmgexetend" e já está na versão 19.01.

Mas, baixar lá não compila nada.
tenho q fazer todo esse processo que o nobre professor JQuintas explanou?

Grato,
MICROVOLUTION.
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 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 23 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