Como gerar Harbour 3.1

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

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

Como gerar Harbour 3.1

Mensagem por JoséQuintas »

As coisas no Harbour estão cada vez mais fáceis.... mas ainda não entendi.

Meu uso:
Plataforma Windows somente.
Comecei com o BCC 5.5, e continuo com ele.
Pelo que tenho lido, me parece a mais compatível com outras DLLs, então mantive.
O hbmk2 não funciona com meu sistema, então por enquanto usando meu próprio make.

Criei a pasta para o Harbour \CVSFiles\Harbour... ok
Instalei o SVN, e nas propriedades da pasta indiquei o CVS do Harbour.... ok
Cliquei em update.... ok

Chamei o win-make.exe, e ele compila tudo, mas dá pra ver que passam coisas reclamando da falta de fontes.

Então pergunto:
Qual a forma mais prática de gerar a última versão, e ter certeza de que está tudo ok?
Poderia ser baixada somente a versão "da noite"?
O Borland C está na parte que diz poder ter recursos reduzidos, devo trocá-lo, ou somente quando fizer falta alguma outra coisa? (Também não adianta ter mais recursos se eu não usar esses recursos, a não ser que afete algum arquivo instalado)
Meu uso: janela console (talvez por muito tempo), MySql através de oledb e rddado, dll externa delphi, zip, e testando chamadas à API do Windows com ajuda da hbwin.

Obs. Por enquanto, o único motivo seria pra alguns retornos de OLEDB que falham no HB 3.0, incluindo aquele do Excel que postei por aqui, que não sei se funcionam na 3.1.
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Como gerar Harbour 3.1

Mensagem por Itamar M. Lins Jr. »

Pelo que tenho lido, me parece a mais compatível com outras DLLs, então mantive.
O padrão é o MingGW32. O BCC 5XX não é recomendado e novas versões do Harbour não será mais compatível.
Eu acesso algumas DLL´s RMCHART, BEMATECH. Sem problemas.
O hbmk2 não funciona com meu sistema, então por enquanto usando meu próprio make.
Leia o arquivo INSTALL, se der errado releia o arquivo INSTALL lá tem TUDO, muito bem documentado.

Qual a forma mais prática de gerar a última versão, e ter certeza de que está tudo ok?
Leia o arquivo INSTALL.
Poderia ser baixada somente a versão "da noite"?
Sim, neste caso pode optar por pegar o Harbour já compilado.
O Borland C está na parte que diz poder ter recursos reduzidos, devo trocá-lo, ou somente quando fizer falta alguma outra coisa? (Também não adianta ter mais recursos se eu não usar esses recursos, a não ser que afete algum arquivo instalado)
Lógico, o BCC está defazado há mais de 10 anos, possui inumeros BUGs já mencionados pelos desenvolvedores do Harbour, não gera a HBIDE, não trabalha com 64bits, não funciona no LINUX, WinCE, etc,etc,etc... e é claro etc...
Obs. Por enquanto, o único motivo seria pra alguns retornos de OLEDB que falham no HB 3.0, incluindo aquele do Excel que postei por aqui, que não sei se funcionam na 3.1.
Faltam mais detalhes para resolver esse problema, especifico. Poste um arquivo reduzido que funciona no VB, e solicite ao grupo de usuário internacional do Harbour fazer a mudança para o código do Harbour.

Obs. Para gerar a HBIDE leia o arquivo INSTALL, lá tem os passos necessário para baixar a QT da NOKIA.


Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como gerar Harbour 3.1

Mensagem por JoséQuintas »

Se tenho um prg, compilo com hbmk2, tudo ok.
Se tenho 2, 3, 4, 5, 6, 7, 8, 9, crio o make, compilo com hbmk2, tudo ok.
Tanto faz bcc ou o default do Harbour.

Agora, no meu sistema oficial, trava durante a compilação individual, usando hbmk2 default.
E se usar -comp=bcc, trava na linquedição.
Não é falta de ler manual, nem problema de instalação, senão seria igual em todos os casos.

Usando meu make, tudo funciona.
A única coisa que ele faz é compilar cada PRG e linqueditar no final.
Diferente do hbmk2, na hora de linqueditar usa um arquivo lnk, e não tudo na linha de comando.

Como o gcc (não sei se este é o mingw32) trava durante compilação, e o bcc funciona, imaginei que os relatos eram corretos.
Então devo concluir que preciso relatar o problema no grupo internacional, ou depois não conseguirei usar harbour, quando desativarem o bcc.
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Como gerar Harbour 3.1

Mensagem por Itamar M. Lins Jr. »

Vejamos o que diz o arquivo INSTALL:
Platform specific prerequisites:

1.) Windows XP or upper system is recommended to build Harbour.
2.) Make sure to have your C compiler of choice properly installed
(in PATH). Refer to your C compiler installation and setup
instructions for details. It's recommended to make sure no tools
in your PATH belonging to other C compilers are interfering with
your setup. It's also highly discouraged to keep multiple copies
of the same compiler, or different versions of the same compiler
in PATH at the same time. For the list of supported compilers,
look up the relevant section in this document.

3.) GNU Make 3.81 or upper is required. We recommend this link:
http://sourceforge.net/projects/mingw/f ... a/download
Unpack it to your PATH or Harbour source root directory.
If you use MinGW compiler, you already have GNU Make.
You can also use included copy named win-make.exe instead.
continuando no:
10. TROUBLESHOOTING
===================

5. Keep your PATH clean from old, mixed compiler tools or other Harbour
versions when building Harbour. The surest way to achieve this is to
leave only C compiler directory in PATH:
set PATH=C:\<compilerdir>
If you use Harbour official binary distro on Windows, even above is
unnecessary and not recommended.
Observe que o hbmk2 pega pelo PATH o compilador, supondo que tudo na sua instalação esteja de acordo com o arquivo INSTALL.
Apenas um compilador no PATH (Caminho padrão) ou BCC ou MingW32.

Agora quanto ao travamento, é preciso pegar qual PRG esta travando.
Não faz sentido esse seu problema, ser um BUG do hbmk2, porque com o seu BAT funciona, e com o hbmk2 não funciona, se ele(hbmk2) apenas executa um SCRIPT.
Outra coisa é forçar a compilação com -comp, não é correto, pois o hbmk2 e o win-make.exe pega o compilador no PATH, automaticamente.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como gerar Harbour 3.1

Mensagem por JoséQuintas »

Resolvido problema de compilação com hbmk2.
Na verdade não existia problema.
É que estou acostumado a 2 segundos de linquedição, e com mingw demora 120.
Fora isso, só dá pra ver mensagem de erro se configurar mais de 300 linhas no prompt, devido a grande lista de PRGs.

Aproveitei pra comparar:
Compilação e linquedição completa, com bcc alguns segundos, com mingw 2 minutos.

Comparando EXEs: (físico e no gerenciador de tarefas)
bcc = 4.512kb, e ocupa 3.504kb de memória
mingw = 5.686kb, e ocupa 6.472kb de memória

As duas versões funcionam bem, pelo menos com as poucas funções que uso do Harbour.
Por enquanto só Harbour + Libs: rddado, hbct, hbsix, hbmzip, hbwin, hbziparc, minizip
Basicamente recursos de ZIP, oledb (pra utilizar ado), e APIs simples do Windows.
Vou permanecer no bcc enquanto puder.
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
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Como gerar Harbour 3.1

Mensagem por Itamar M. Lins Jr. »

Ajuste o hbmk2, para compilar apenas o módulo alterado.
Aqui não demora mais que 3 segundos. E o programa é bem grande.
Algum problema tem ai, para demorar 2 minutos é muito tempo.
Quanto ao tamanho, memória etc... isso é normal.

Lógico que pode variar mais ou menos conforme o processador, memória livre, etc.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como gerar Harbour 3.1

Mensagem por JoséQuintas »

Pensei que esse era o default.
Acrescentei -inc, e ficou parecendo o meu make agora.
Continua um comportamento estranho, com travamentos eventuais, obrigando uma compilação completa.
Funciona do meu jeito, tá bom.
A única diferença é fazer 5 PRGs por vez, ao invés de todos, e usar LNK pra linqueditar.
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