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
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...

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.