De Harbour 3.4 pra Harbour 3.2

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

Moderador: Moderadores

Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

De Harbour 3.4 pra Harbour 3.2

Mensagem por fladimir »

Tenho um projeto q ainda preciso manter funcionando em harbour, uso o 3.4 versao de 2016
S:\>hbmk2
Harbour Make (hbmk2) 3.4.0dev (4541270) (2016-06-28 07:05)
Copyright © 1999-2016, Viktor Szakáts
https://github.com/vszakats/harbour-core/
Aparentemente não percebo problema algum exceto q recebo eventuais erros de size of symbol estourar devido threads q ficam rodando direto, ai qdo da esse erro cliente não percebe mas recebo aki, vi q essa questão foi resolvida em 2020 na 3.2 (não sei se na 3.4)

Baixei o instalador da 3.2 ultima compilação q já vem com o MinGW q é o q eu uso.

Minha dúvida é pra quem migrou da 3.4 pra 3.2 se vou precisar mudar muita coisa, pq uso tb o HaruPDF, MySQL, SQLite, GTWG entre outras cositas mas... segue parte meu arquivo hbp

Código: Selecionar todos

#-- Utilizar nucleos no processamento
-jobs=8
-mt
-gui


# ---------------------------
# Libs / Arqs de conf HBC
# ---------------------------
-lhbxpp 
-lpng
-llibhpdf
-llibmysql

hbct.hbc
hbcomm.hbc
hbhpdf.hbc
hbmisc.hbc
hbmysql.hbc
hbtip.hbc
hbssl.hbc
hbzebra.hbc
hbziparc.hbc
hbwin.hbc
d:\dev\hb34\contrib\letodb\rddleto.hbc
hbMEMIO.HBC
hbNetIO.hbc
xhb.hbc
hbsqlit3.hbc 
gtwvg.hbc


Alguém consegue passar uma ideia se vale a pena migrar ou passo a passo do q terei q fazer

Além disso eu seto as variaveis de ambiente da seguinte forma:

Código: Selecionar todos

@ECHO OFF

rem Para Compilar

    SET HB_INSTALL_PREFIX=D:\DEV\HB34
    SET HB_COMPILER=mingw
    SET HB_ARCHITECTURE=win
    SET HB_WITH_MYSQL=d:\dev\mariadb\include\mysql

    SET HB_TIP_OPENSSL=yes
    SET HB_PATH=D:\DEV\HB34
    SET HB_BIN_INSTALL=D:\DEV\HB34\bin
    SET HB_LIB_INSTALL=D:\DEV\HB34\lib
    SET HB_INC_INSTALL=D:\DEV\HB34\include
    SET HB_DOC_INSTALL=D:\DEV\HB34\doc
    SET HB_BUILD_IMPLIB=YES

    SET LIB_DIR=D:\DEV\HB34\LIB;D:\DEV\HB34\COMP\MinGW64\LIB
    SET INCLUDE_DIR=D:\DEV\HB34\INCLUDE;D:\DEV\HB34\COMP\MinGW\include


rem  Ambiente de trabalho Harbour
 
     SET INCLUDE=D:\DEV\HB34\INCLUDE
     SET INCLUDE=%INCLUDE%;D:\DEV\HB34\CONTRIB\XHB
     SET INCLUDE=%INCLUDE%;D:\DEV\HB34\CONTRIB\hbhpdf
     SET INCLUDE=%INCLUDE%;D:\DEV\HB34\CONTRIB\HBWIN
     SET INCLUDE=%INCLUDE%;D:\DEV\HB34\COMP\MinGW\include
     SET INCLUDE=%INCLUDE%;D:\Projetos\csloja\_INCLUDE

rem  Paths 

     SET PATH=C:\WINDOWS\SYSTEM32\;C:\WINDOWS\SYSWOW64\
     SET PATH=D:\DEV\HB34\BIN\;%PATH%
     SET PATH=D:\DEV\HB34\COMP\MinGW\BIN;%PATH%

     SET LIB=D:\DEV\HB34\LIB\WIN\MINGW;D:\DEV\HB34\MinGW\LIB

Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


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

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

De um modo geral vai de boa.
GTWVW é diferente.

Tem parâmetros demais na lista.
Talvez SUA LIB obrigue isso.

Código: Selecionar todos

@ECHO OFF

rem Para Compilar

    SET HB_INSTALL_PREFIX=D:\DEV\HB34
    SET HB_COMPILER=mingw
    SET HB_WITH_MYSQL=d:\dev\mariadb\include\mysql
    SET HB_TIP_OPENSSL=yes
     SET PATH=D:\DEV\HB34\BIN\;%PATH%
     SET PATH=D:\DEV\HB34\COMP\MinGW\BIN;%PATH%

rem  Ambiente de trabalho Harbour
 
     SET INCLUDE=%INCLUDE%;D:\Projetos\csloja\_INCLUDE

rem  Paths 

     SET PATH=C:\WINDOWS\SYSTEM32\;C:\WINDOWS\SYSWOW64\
     SET PATH=D:\DEV\HB34\BIN\;%PATH%
     SET PATH=D:\DEV\HB34\COMP\MinGW\BIN;%PATH%
Aqui uso estes, pra forçar a "não criação" de DLLs

Código: Selecionar todos

HB_BUILD_CONTRIB_DYN=no
HB_BUILD_DYN=no
HB_BUILD_SHARED=no
HB_BUILD_STRIP=all
HB_COMPILER=mingw
HB_INSTALL_PREFIX=d:\harbour
HB_LANG=EN
Mas pode acrescentar o HB_BUILD_STRIP, pra ficar tudo um pouco menor.

Detalhe:
Não sei se resolveram o problema da lib PNG, pode impedir de compilar
Já avisei o que pode ser feito, mas não vi mudança
É só copiar do 3.4
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
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

De Harbour 3.4 pra Harbour 3.2

Mensagem por fladimir »

O q tive q mudar aki pra manter os 2 ambientes após instalar o hb32 versao nigthly de hj foi:

# criei bat pra setar os paths etc do hb32 // Desta forma nao afeta o hb34 antigo q tenho pq executo o bat da hb34 e fica tudo pra hb34 se for o caso
# libpng usei uma q o jairo disponibilizou de 2018 blz passou // desta forma pq o libpng.a foi colocado na pasta do mingw da hb32 ou seja o hb34 permanece com o libpng.a dela
## disktotal, diskfree da libct mudei para f_dsksize e f_dskfree da hbnf // só tive q ajustar o HBP e adicionar o HBNF.HBC ai ficou tanto pra hb34 antiga q aceitou qto pra hb32
## utc é da libmisc, copiei do mingw\lib da hb34 para hb32 blz passou // isso aki nao se eu gerar em hb34, porém nao sei se vai afetar a hb32, nos testes aki foi de boa

### ao executar o exe gerado deu erro na libcrypto-1.dll, tive q pegar da pasta mingw\bin\libcrypto.dll da hb32 ai funcionou // isso aki vou ter q testar ver se não vai afetar as senhas que lá em 2016 qdo fui atualizar a 3.4 o Viktor tinha mexido e virou uma bagunça no meu sistema q tive q voltar, aparentemente agora no q testei aki ta tudo funcionando, porém tem q ver no dia a dia, ai na hb34 não sei se vai afetar pq o EXE antigo aceitou essa dll de boa, sem apresentar erro

### Uso a GTWVG ai tem uma função no inicio do sistema q é hb_gtInfo( HB_GTI_PALETTE, aPalette ) onde pra criar a array da paleta de cores uso a WAPI_RGB na hb34 antiga, essa função não achei, vi q ela é da hbwin, porém nesse caso não quis fazer igual fiz com a libmisc, preferi trocar pela RGB nativa hb32, ok passou não vi difernça, não sei se vai afetar, só testando mais, ai na hb34 ao recompilar não afetou tb pq tem a RGB() na hb34
Pelo q percebi foi isso.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


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

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

RGB no 3.2 tá em #define
Também pode criar a função, é só cálculo com os números.

Em wvt_win.ch:

Código: Selecionar todos

#ifndef RGB
#define RGB( nR, nG, nB )   ( nR + ( nG * 256 ) + ( nB * 256 * 256 ) )
#endif
Aqui tanto faz, gerava com mingw 7.3 e agora com 13.2.
Só copiei a pasta do PNG do 3.4, senão no 3.2 dá erro na geração e/ou no uso.
Tem uma longa lista no harbour-users sobre problemas, mas até hoje não fizeram essa operação simples.
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
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

De Harbour 3.4 pra Harbour 3.2

Mensagem por fladimir »

Zé vc usa o 3.4 ou 3.2?

Consegui rodar o 3.2 e o 3.4 (2016)

A dúvida é pra não ter q ficar com 2 pra manter um projeto q tenho ainda, atualizo minha 3.4 ou vou de 3.2 atualizado?

Pq na pratica vai rodar de boa em ambos, mas to me referindo a caso precise atualizar futuramente novamente
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


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

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

A única certeza do futuro é a morte.

Eu só usava 3.4

Agora só uso 3.2

A única questão que tive foi portar MINHAS funções da GTWVG pro 3.2.
Assim que ajustei, fiquei no 3.2.

Os dois funcionam bem, tanto faz, apenas comecei a criar problemas na hora de contribuir pra libs, por usar recursos do hbmk2 que faltam no 3.2.
Usando mesma versão de harbour não crio mais problema.

Não sei o quanto fica visível para público, usando máquinas do github.

a geração do harbour 3.2 está aqui:

https://github.com/JoseQuintas/sefazcla ... 2_0703.yml

E a geração de hmg3, hmg extended, oohg, hwgui, etc. com esse harbour está aqui

https://github.com/JoseQuintas/sefazcla ... 32pack.yml

É tudo no próprio github, sem interferência manual.
Aí mostra as mensagens apresentadas durante cada geraçã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
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

De Harbour 3.4 pra Harbour 3.2

Mensagem por deividdjs »

estou migrando de xharbour 1.1.2 para harbour 3.2 ... e estou enfrentando um erro na compilação .. alguem já passou por isso ??

FATAL: unable to open file LANG.LIB

uso o xDEV STUDIO v0.70

Abraço.
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

XDEV studio deveria ser só editor, tanto faz.

A princípio não deveria faltar nada.

Geralmente o harbour é gerado com um determinado compilador C.
Na geração são criadas as LIBs para esse compilador C.
Se tentar usar com compilador diferente, vai dar falta de LIBs para o novo compilador.

Faltar LANG.LIB.....
Primeira coisa: extensão LIB se refere a BCC ou MSVC.
Tá usando um desses mesmo ? e baixou harbour pronto pra eles ou pra mingw ?

Se baixou pra mingw, talvez melhor ajustar a variável de ambiente pra forçar mingw:
SET HB_COMPILER=mingw
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
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

De Harbour 3.4 pra Harbour 3.2

Mensagem por deividdjs »

JoséQuintas escreveu:XDEV studio deveria ser só editor, tanto faz.

A princípio não deveria faltar nada.

Geralmente o harbour é gerado com um determinado compilador C.
Na geração são criadas as LIBs para esse compilador C.
Se tentar usar com compilador diferente, vai dar falta de LIBs para o novo compilador.

Faltar LANG.LIB.....
Primeira coisa: extensão LIB se refere a BCC ou MSVC.
Tá usando um desses mesmo ? e baixou harbour pronto pra eles ou pra mingw ?

Se baixou pra mingw, talvez melhor ajustar a variável de ambiente pra forçar mingw:
SET HB_COMPILER=mingw
eu baixei pronto José essa versão 3.2 .. o no XDEV consigo configurar o compilador e o linkeditor tbm ... uso a anos o xharbour nele .. porem agora gostaria de mudar porque muitos dos exemplos e ajudas que encontro na internet sempre é para HARBOUR ..

eu notei q o LANG.lib se encontra da pasta do xharbour mais nao na dor harbour 3.2 ..

eu estou usando o BCC5.82 posso continuar ou tenho q mudar ?? desculpa estou meio perdido ..

obrigado.
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

Deve ter baixado pra mingw.
Olhe na pasta LIB.
Geralmente o Harbour usa pastas conforme o compilador: lib/mingw, lib/mingw64, lib/bcc, lib/bcc64, lib/msvc, lib/msvc64
Além disso, lib pra mingw terminam com .a, e começam com lib, por exemplo liblang.a, ao invés de lang.lib

Melhor sair usando o que veio mesmo.

Nota: Tem lib que depende de direitos autorais, e não faz parte dos fontes, gerar do zero pode complicar, CASO PRECISE DELAS.
Então use o que veio, e deixe pra gerar harbour do zero pra depois, senão pode complicar.
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
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

De Harbour 3.4 pra Harbour 3.2

Mensagem por deividdjs »

na pasta lib só tem uma sub-pasta WIN/MINIGW mesmo ... mais nada ..

onde eu baixo o HARBOUR 3.2 completo ?? para eu começar minha migração aqui heheheh

estou enferrujado home de Deus ..

Abraço e obrigado .. Deus abençoe vc ..
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

E nessa pasta não tem os arquivos .A ?

No endereço do harbour, procure por binaries na página.
Vai cair no harbour nightly, que é gerado todo dia.
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
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

De Harbour 3.4 pra Harbour 3.2

Mensagem por deividdjs »

JoséQuintas escreveu:E nessa pasta não tem os arquivos .A ?

No endereço do harbour, procure por binaries na página.
Vai cair no harbour nightly, que é gerado todo dia.
sim .. os .A estao dentro de HB32\LIB\WIN\MINGW ..
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

De Harbour 3.4 pra Harbour 3.2

Mensagem por deividdjs »

JoséQuintas escreveu:E nessa pasta não tem os arquivos .A ?

No endereço do harbour, procure por binaries na página.
Vai cair no harbour nightly, que é gerado todo dia.
Eu achei esse harbour nightly 3.2 ..vem com um instalador .. instalei porém a pasta lib ainda continua sem nenhuma biblioteca dentro .. é normal ?

Abraço,
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

De Harbour 3.4 pra Harbour 3.2

Mensagem por JoséQuintas »

lib/win/mingw
os arquivos deveriam estar aí

vai no lib

Código: Selecionar todos

dir /s/b
Se não tiver nada, aí estão distribuindo harbour furado.
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