Dúvida ao Compilar com LetoDBf

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2820
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 2 vezes

Dúvida ao Compilar com LetoDBf

Mensagem por Jairo Maia »

Olá Pessoal,

Tenho um sistema que usa o LetoDBf, e funcionou por muito tempo. Ocorre que agora preciso retormar esse projeto, que ficou parado desde a pandemia. Então restaurei o backup, e tudo funciona bem, inclusive com as conexões local, em rede e a principal: remota.

Mas isso "as is". Se faço alguma alteração e tento compilar, me dá esse erro:
hbmk2: Erro: Referenciado, faltando, mas funções desconhecida(s): LETO_SET(),
LETO_MGSYSINFO(), LETO_FCOPYFROMSRV(), LETO_FCOPYTOSRV()
Como já tentei entender o que está faltando e não consigo, será que alguém saberia dizer onde estou errando?

NOTA: No projeto antigo, no arquivo .HBP para o leto tinha somente a chamada: -lrddleto

Agradeço qualquer dica.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Dúvida ao Compilar com LetoDBf

Mensagem por JoséQuintas »

Compile usando -q (quiet), pra ter menos informação na tela, e confirme no início.
Talvez apareça sobre a lib não ser encontrada.
-l apenas indica nome de lib, de nada adianta se a lib não for encontrada.
precisaria -L e o path
Procure a lib no disco pra confirmar dir \*rddleto.* /s/b

Outra coisa:
LIB não dá aviso sobre faltar funções na compilação.
Compilar uma LIB não significa que vai funcionar.
É no uso, que são procuradas todas as funções mencionadas.
Às vezes, pra desencargo de consciência, pode ser interessante compilar a lib como se fosse EXE.
Isso vai mostrar se precisa de mais coisas.

Se for mingw, talvez facilite, porque mingw é compatível com versões anteriores, e libs antigas podem funcionar.

Pelo menos daria pra identificar possibilidades pra solução:
- pode ser só o path da lib rddleto
- pode ser a compilação da lib rddleto, que só vai mostrar problema no uso/linquedição do aplicativo.

LIBs conhecidas do harbour, o automático se encarrega de acrescentar path.
Mas outras LIBs, precisa acrescentar manualmente.

Nota: pelo nome das funções, parece que falta a lib rddleto
Ou isso, ou a lib está gerada com problema.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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
Jairo Maia
Moderador
Moderador
Mensagens: 2820
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 2 vezes

Re: Dúvida ao Compilar com LetoDBf

Mensagem por Jairo Maia »

Olá José,
JoséQuintas escreveu: 21 Jan 2026 20:18 LIB não dá aviso sobre faltar funções na compilação.
Aqui dá sim. Se coloco uma lib e ela não é encontrada, interrompe e diz: lib XXX não encontrada.
JoséQuintas escreveu: 21 Jan 2026 20:18 - pode ser só o path da lib rddleto
Não. a rddleto está ok. Se tiro essas funções faltantes compila ok. Mas elas são importantes pra se comunicar com as estações e verificam se há incompatibilidade. Não queria abrir mão do que funcionava muito bem.

Mas sem elas, tudo funciona. Apenas perco o recurso de checagem automática se o aplicativo cliente está com a mesma versão do servidor, e se não está atualiza automaticamente. perder esses recursos será uma pena. Cada vez que atualizar o servidor terá que atualizar as estações indivudualmente. Antes, atualiza apenas o servidor, e o resto era automático. Não queria perder esse recurso.

Tenho que encontrar onde elas estavam. estou vasculhando backups antigos aqui pra ver se acho. Mas até agora nada. E já vasculhei na internet, não ajudou em nada. Uma pena, mas fazer o que...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8028
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: Dúvida ao Compilar com LetoDBf

Mensagem por Itamar M. Lins Jr. »

Olá!
Baixou do GIT o novo ?
Parece que seu rddleto.ch está ativando outras funções.

Código: Selecionar todos

/* redirect for 4 options handled in LETO_SET(), others forward to SET() */
#ifdef CASESENSITIVE
   #define set( _HB_SETTING, XSET )   LETO_SET( _HB_SETTING, XSET )
   #define Set( _HB_SETTING, XSET )   LETO_SET( _HB_SETTING, XSET )
#endif
#define SET( _HB_SETTING, XSET )   LETO_SET( _HB_SETTING, XSET )
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2820
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 2 vezes

Re: Dúvida ao Compilar com LetoDBf

Mensagem por Jairo Maia »

Itamar M. Lins Jr. escreveu: 21 Jan 2026 22:13 Baixou do GIT o novo ?
Sim. Mas não consigo compilar. Não consigo gerar a rddleto.lib

As funções que faltam e são importantes, são: LETO_MGSYSINFO(), LETO_FCOPYFROMSRV(), LETO_FCOPYTOSRV(). Elas estão no arquivo letomgmn.c, na pasta C:\LetoDBf-master\source\client. Mas acho que estou velho demais pra algumas coisas.Não consigo compilar esses fontes e gerar a lib.

Se alguém conseguir seria bom, mas estou mesmo é apanhando delas.... Desanimador.

O que sei é que voltar à idade da pedra não dá... Não vou.... Ficar fazendo atualização em várias máquinas, em 3 locais diferentes (mesmo que remotamente), não dá. Não tenho mais paciência pra isso.

É o preço de fazer backup MAL FEITO...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Dúvida ao Compilar com LetoDBf

Mensagem por JoséQuintas »

Será que está compilando a lib só com os PRGs e sem os fontes C ?
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 8028
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: Dúvida ao Compilar com LetoDBf

Mensagem por Itamar M. Lins Jr. »

Olá!
Eu baixo o LetoDbf e compilo o tempo todo.
Uso gcc, zig...
A unica coisa que acontece é a função metodo da hwgui não ser vista por conta desse set.
O metódo é esse:
oBJ:Set() por conta desse include que postei, dai eu comento só essa linha, ou colo isso no meu prg.

Código: Selecionar todos

/* login error conditions */
#define LETO_ERR_CONNECT      1
#define LETO_ERR_LOGIN        2
#define LETO_ERR_ACCESS       3
#define LETO_ERR_RECV         4
#define LETO_ERR_SEND         5
#define LETO_ERR_MANY_CONN    6
#define LETO_ERR_SOCKET       7
#define LETO_ERR_PROTO        8
#define LETO_ERR_LOCKED       9
#define LETO_ERR_RESTORE     10
Para não precisar colocar:
#include "rddleto.ch"
Me diga qual é seu compilador, para que possa ver aqui se acontece o mesmo problema.
Deve ser problema de arquivo .ch faltando, ou misturado.
Eu só tenho 1 PATH aqui para msys64\

Código: Selecionar todos

C:\dev\letodbf>set hb
HB_BUILD_CONTRIB_DYN=no
HB_BUILD_DYN=no
HB_BUILD_VERBOSE=yes
HB_COMPILER=mingw64
HB_INSTALL_PREFIX=c:\hb32
HB_MT=yes
HB_REBUILD_EXTERN=yes
HB_STATIC_CURL=yes
HB_STATIC_OPENSSL=yes
HB_WITH_CURL=C:\msys64\ucrt64\include
HB_WITH_MYSQL=C:\msys64\ucrt64
HB_WITH_ODBC=C:\msys64\ucrt64
HB_WITH_OPENSSL=C:\msys64\ucrt64\include
HB_WITH_PGSQL=C:\msys64\ucrt64\bin
Meu path coloco isso:
C:\msys64\ucrt64\bin;C:\hb32\bin;
Ai troco se desejar compilar com outros compiladores, zig, etc...
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8028
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

Re: Dúvida ao Compilar com LetoDBf

Mensagem por Itamar M. Lins Jr. »

Olá!
Esse rddleto.ch que faz a troca de set() para Leto_set()
Se não tiver essas linhas ou for comentado, ele não pega as funções.
E quando tem ele embola com a Hwgui o método de nome set.

Código: Selecionar todos

/* redirect for 4 options handled in LETO_SET(), others forward to SET() */
#ifdef CASESENSITIVE
   #define set( _HB_SETTING, XSET )   LETO_SET( _HB_SETTING, XSET )
   #define Set( _HB_SETTING, XSET )   LETO_SET( _HB_SETTING, XSET )
#endif
#define SET( _HB_SETTING, XSET )   LETO_SET( _HB_SETTING, XSET )
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2820
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 2 vezes

Re: Dúvida ao Compilar com LetoDBf

Mensagem por Jairo Maia »

Olá Pessoal,

Deu Tudo Certo....

Hoje levantei e limpei tudo: BCCC55, BCC58, MinGW e Letodbf-Master. Limpei o PATH e deixei somente o hb32/lib. Descompactei o Letodbf-Master, renomeei para letodbf, rodei Hbmk2 rddleto.hbc para gerar a lib somente com o Hb32, e BINGO.

Gerou a lib librddleto.a, coloquei na pasta lib do Harbour, recompilei o sistema e deu tudo certo. Agora é trabalhar e atualizar, principalmente a conexão SSL que ficou obsoleta.

Muito obrigado Itamar e José Quintas pelo tempo dedicado. Agradeço...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

Re: Dúvida ao Compilar com LetoDBf

Mensagem por JoséQuintas »

Apenas dica: uma coisa que costumo fazer
NÃO salve libs na pasta do harbour, deixe separadas.
O problema de salvar junto é que, tempos depois quer trocar o harbour, apaga tudo pensando que só tem harbour.
Separar chama a atenção sobre dependências.

Aqui deixo as coisas em d:\github, inclusive d:\github\harbour32
SET HB_INSTALL_PREFIX=d:\harbour

Todos os fontes/lib em pastas de d:\github
Na pasta d:\harbour, somente o harbour gerado.

E salvando em conta pessoal no github, como público.
Coisa pública é grátis e ilimitada no github.
Backup grátis nas núveis, por conta da Microsoft.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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