Aos poucos migrando tela caracter para GUI

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

cjp escreveu:Será que é porque eu peguei esta lib do Harbour 3.2?
Não é isso, veja a extensão da lib .lib para GCC e LLVM/CLANG a lib tem quer .a, então libmaysql.lib tem que fazer export para libmysql.a, normalmente a lib seria criada na geração do harbour e essa compilação com certeza não tem.Vai ter que fazer manual, criar uma bat, apontar para o caminho do mysql, etc, etc...para gerar a lib
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Desculpe, mas pra mim vc falou grego. Gerar a lib? Como faço isso? Por favor, tenha paciência com a minha ignorância. Eu sempre usei o 3.2 com essas libs. Nunca gerei lib. Poderia explicar, por favor?
Inacio de Carvalho Neto
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

CJP,

Você precisa pesquisar no fórum, tem tudo aqui, todos nós fazemos isso aqui.

Vamos lá, eu vou anexar a pasta da contrib que contém o projeto para gerar a lib, descompacta em qualquer lugar da tua máquina, abre o arquivo gerarlib.bat
Modifica os caminhos que estão nesta bat, a saída é uma lib com extensão .a

Tenta ai, não é difícil
hbmysql.zip
(22.81 KiB) Baixado 138 vezes
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Desculpe, é que eu nunca tinha ouvido falar em gerar lib.
Descompactei a pasta que vc mandou e alterar o .bat.
Mas está dando erro na hb_with_mysql: não achei no meu disco nenhum arquivo com este nome.
Também não achei no meu disco a pasta include do mysql. Será que meu mysql está faltando arquivos?
Prints anexos.
O bat ficou assim:

Código: Selecionar todos

@echo off
@setlocal
@echo Compilando o programa CLANG...
HB_WITH_MYSQL=C:\mysql\include
set path=\hb32\bin;\hb34\comp\mingw64\bin;
set HB_DBG_PATH=.\
hbmk2 hbmysql.hbp -jobs -rebuild  
pause
Anexos
tela2.png
tela.png
Inacio de Carvalho Neto
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Aos poucos migrando tela caracter para GUI

Mensagem por alxsts »

Olá!
cjp escreveu:Mas está dando erro na hb_with_mysql: não achei no meu disco nenhum arquivo com este nome.
hb_with_mysql não é um arquivo. É um setting, assim como PATH ou HB_DBG_PATH.

No teu .Bat, ajuste a linha 4:
Troque

Código: Selecionar todos

HB_WITH_MYSQL=C:\mysql\include
Por

Código: Selecionar todos

SET HB_WITH_MYSQL=C:\mysql\include
[]´s
Alexandre Santos (AlxSts)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Nesta parte resolveu. Obrigado.
Mas ainda está dando erro, conforme anexo.
Testei com todas as opções.
Anexos
tela.png
Inacio de Carvalho Neto
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Aos poucos migrando tela caracter para GUI

Mensagem por JoséQuintas »

Aprenda a ler:

"NENHUM COMPILADOR C FOI ENCONTRADO NO PATH"

Tá faltando o compilador C, ou ele não está no PATH.

Novamente, outra vez, de novo: o Harbour transforma em linguagem C, e o compilador C faz o resto.
Fez o processo do Harbour de transformar em linguagem C, mas agora falta o compilador C pra continuar.
O hbmk2 tenta detectar pelo PATH, mas ele não está no PATH, ou talvez nem na máquina.
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

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

cjp escreveu:Nesta parte resolveu. Obrigado.
Mas ainda está dando erro, conforme anexo.
Só não tentou uma:

-comp=mingw

Para LLVM/CLANG e GCC 32 bits

Já postei a bat para compilar, você tá misturando as coisas ai, outra coisa, não pode misturar BCC com GCC, não vai compilar.

Libs geradas com BCC 5.X a extensão é .LIB
Libs geradas com GCC (MINGW) e LLVM/CLANG a extensão é .a
2020-05-30 20_39_32-Window.png
2020-05-30 20_39_32-Window.png (11.29 KiB) Exibido 6744 vezes
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Aprenda a ler:

"NENHUM COMPILADOR C FOI ENCONTRADO NO PATH"

Tá faltando o compilador C, ou ele não está no PATH.

Novamente, outra vez, de novo: o Harbour transforma em linguagem C, e o compilador C faz o resto.
Fez o processo do Harbour de transformar em linguagem C, mas agora falta o compilador C pra continuar.
O hbmk2 tenta detectar pelo PATH, mas ele não está no PATH, ou talvez nem na máquina.
Na verdade eu leio. Nem sempre compreendo, pois me faltam conhecimentos básicos. Mas leio sim.

O processo de compilação, por exemplo, é algo que não entendo bem. Somente repito o que aprendi aqui no fórum, mas sem entender bem.

Não sou da área (sou formado em Direito). Mas gosto de programar e estou tentando aprender o que for possível.

De qualquer forma, agradeço muito a paciência de vocês e as instruções que me passam. Aos poucos vou aprendendo.
Só não tentou uma:

-comp=mingw
Na verdade eu tinha tentado, mas da forma errada.
Para LLVM/CLANG e GCC 32 bits

Já postei a bat para compilar, você tá misturando as coisas ai, outra coisa, não pode misturar BCC com GCC, não vai compilar.

Libs geradas com BCC 5.X a extensão é .LIB
Libs geradas com GCC (MINGW) e LLVM/CLANG a extensão é .a
Não sei se entendi bem. Vou mostrar exatamente o que estou fazendo (com as correções que fiz agora):

Código: Selecionar todos

@echo off
@echo Compilando o programa CLANG...
set path=\hb34\bin;\hb34\comp\mingw64\bin;
set HB_DBG_PATH=.\
\hb34\bin\hbmk2 hbmysql.hbp -jobs=1 -bldhead=compdatetime.ch -comp=mingw -b
pause
Este é o bat. Note que a pasta hb34 é justamente a que vc me mandou, que corresponde à tua harbour32_clang. Só está com o nome diferente aqui.

O hbp está assim:

Código: Selecionar todos

-hblib
-inc

-o${hb_name}

-w3 -es2

-depurlbase=mysql:https://downloads.mariadb.org/mariadb/
-depurlbase=mysql:https://dev.mysql.com/downloads/
-deppkgname=mysql:libmariadb-client-lgpl-dev{deb}
-deppkgname=mysql:libmysqlclient-dev{deb}
-deppkgname=mysql:libmariadb-devel{rpm}
-deppkgname=mysql:libmysqlclient-devel{rpm}
-deppkgname=mysql:mysql-devel{rpm}
-deppkgname=mysql:MySQL-devel{rpm}
-deppkgname=mysql:mariadb{homebrew}
-deppkgname=mysql:mysql{homebrew}
-deppkgname=mysql:mysql80-client{pkgng}
-deppkgname=mysql:mariadb102-client{pkgng}
-deppkgname=mysql:libmariadbclient{pacman}
-deppkgname=mysql:mingw-w64-i686-libmariadbclient{msys2&x86}
-deppkgname=mysql:mingw-w64-x86_64-libmariadbclient{msys2&x86_64}
-depkeyhead=mysql:mysql.h
-depcontrol=mysql:no{HB_BUILD_3RDEXT='no'}
-depcontrol=mysql:${HB_WITH_MYSQL}
-depincpath=mysql:/usr/include/mysql
-depincpath=mysql:/usr/local/include/mysql
-depincpath=mysql:/usr/local/opt/mariadb/include
-depincpath=mysql:/usr/local/opt/mysql/include
-depimplibs=mysql:../lib/opt/libmySQL.dll
-depimplibs=mysql:../lib/libmySQL.dll
-depimplibs=mysql:../lib/libmysqlclient.dll.a
-depimplibs=mysql:../../lib/libmysql.dll
-depimplibs=mysql:../../lib/libmysql.def{x86_64}
-depimplibs=mysql:../../lib/libmysqlclient.dll.a
-depimplibd=mysql:mysqlclient

-hbx=${hb_name}

mysql.c

tmysql.prg
tsqlbrw.prg
Neste eu não mexi em nada.

Está dando o erro do anexo.

Tentei fazer as seguintes alterações no .hbp:

Código: Selecionar todos

-depkeyhead=mysql:"\program files\mariaDB 10.4\include\mysql\mysql.h"

Código: Selecionar todos

-depcontrol=mysql:${"\program files\mariaDB 10.4\include\mysql\HB_WITH_MYSQL"}
Mas não funcionou.

Podem me ajudar, por favor?
Anexos
tela.png
Inacio de Carvalho Neto
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

CJP Novamente,

Você agora está misturando compilador 32 bits com 64 bits, o link que eu postei do harbour já compilado é para LLVM/CLANG 32 bits, a não ser que você esteja usando outra versão, realmente tá dificil de entender o que você tá querendo fazer ai.

\hb34\comp\mingw64\bin ??????? a versão que eu postei é para 32 bits !!!!

Nada vai funcionar ai, até eu para gerar uma versão 64 bits do harbour 3.4 não consegui!!!!

Se você tem o harbour compilado para 64 bits, por exemplo o mysql tem que ser para 64 bits, a versão 32 bits não vai gerar a lib, tem que ser da mesma plataforma!
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

De fato, não tinha reparado nesse 64 aí. Estava assim no .zip que vc mandou dia 28/5; não sabia que precisaria alterar.
Entretanto, alterei agora, e continua dando o mesmo erro.
Será que o problema era só esse?

Só para tentar deixar claro o que estou pretendendo fazer: tudo que eu quero é compilar o meu sistema, que hoje funciona no Harbour 3.2 em modo console, neste exemplo que vc mandou, em modo gráfico. É só isso.
Mas, ao tentar fazer isso, deu problema na lib libmysql.lib. E daí vocês me disseram que teria que gerar a lib com extensão .a. É isso que estou tentando fazer agora.
Inacio de Carvalho Neto
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

Subi de novo o harbour compilado com LLVM/CLANG 10.1 32 bits

https://drive.google.com/file/d/1oagQvH ... sp=sharing
►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)
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Aos poucos migrando tela caracter para GUI

Mensagem por cjp »

Baixei o novo Harbour, salvei em nova pasta para não fazer confusão.
Ainda assim, não está funcionando. Está dando o erro no anexo.
O bat está assim (basicamente igual ao que vc postou por último):

Código: Selecionar todos

@echo off
set path=\harbour32_clang\bin;\harbour32_clang\comp\mingw32\bin;
set HB_DBG_PATH=.\
hbmk2 hbmysql.hbp -jobs=1 -bldhead=compdatetime.ch -comp=mingw -b
pause
Anexos
tela.png
Inacio de Carvalho Neto
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Aos poucos migrando tela caracter para GUI

Mensagem por asimoes »

CJP,

Você tem o MySql instalado no seu computador? e se tem tem que ser para plataforma 32 bits.

Essa situação do MySql CJP, você tem que postar no fórum de Banco de Dados
►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

Aos poucos migrando tela caracter para GUI

Mensagem por JoséQuintas »

Lembrei de uma coisa:

Tem certeza que precisa dessa lib?
Até onde sei, tinha passado a usar ADO, e ADO não precisa disso.
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