Página 1 de 1
Dúvida ao Compilar com LetoDBf
Enviado: 21 Jan 2026 17:31
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.
Re: Dúvida ao Compilar com LetoDBf
Enviado: 21 Jan 2026 20:18
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.
Re: Dúvida ao Compilar com LetoDBf
Enviado: 21 Jan 2026 20:36
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...
Re: Dúvida ao Compilar com LetoDBf
Enviado: 21 Jan 2026 22:13
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 )
Re: Dúvida ao Compilar com LetoDBf
Enviado: 21 Jan 2026 23:57
por Jairo Maia
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...
Re: Dúvida ao Compilar com LetoDBf
Enviado: 22 Jan 2026 02:07
por JoséQuintas
Será que está compilando a lib só com os PRGs e sem os fontes C ?
Re: Dúvida ao Compilar com LetoDBf
Enviado: 22 Jan 2026 08:04
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...
Re: Dúvida ao Compilar com LetoDBf
Enviado: 22 Jan 2026 08:44
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 )
Re: Dúvida ao Compilar com LetoDBf
Enviado: 22 Jan 2026 09:45
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...
Re: Dúvida ao Compilar com LetoDBf
Enviado: 22 Jan 2026 12:20
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.