Página 2 de 2

LetoDB para xharbour 1.2.3 Bcc 7.4

Enviado: 02 Mai 2023 13:35
por JoséQuintas
Linguagemclipper escreveu:Alguém tem o xbuilder que funcione com o xharbour v1.2.3?
Estou usando do v1.2.1, mas não está funcionando.
Usei o xbuilderw colocando xcc PellesC 8 e disse que compilou sem erros, mas não ví nenhuma lib.
Faça o que já comentei várias vezes: use o HBMK2.
SEMPRE vai ter que acrescentar -xhb, mas isso dá até pra deixar fixo na máquina.
É mais simples do que pensa.

copie o hbmk2.exe pra pasta do xharbour: harbour\bin
se não estiver definido: SET HB_INSTALL_PREFIX=c:\xharbour

Como é comum pra tudo, coloque compiladores no path:
set path=%path%;c:\xharbour\bin;c:\bcc74\bin

A partir daí, é usar direto ou com projeto HBP

hbmk2 *.prg *.c *.rc -omeuexe

O projeto só contém o que usaria normalmente na linha de comando, indicar aonde estão os arquivos e libs, e quais os nomes
-Lpath_de_lib
-Ipath_de_include
-lnome_de_lib

E se criar com o nome de hbmk.hbm e deixar na pasta xharbour\bin, entra automático pra tudo, sem precisar ficar indicando a mesma coisa toda vez que for usar. bom por exemplo pras libs padrão, SE PRECISAR INDICAR.
Tanto faz se é harbour ou xharbour ou bcc ou mingw ou outro

LetoDB para xharbour 1.2.3 Bcc 7.4

Enviado: 07 Mai 2023 09:25
por Linguagemclipper
Só compila com o BCC74?
Estou usando o xhb123 + BCC58

Código: Selecionar todos

SET BISON_DIR=C:\BISON\GnuWin32\Bin
SET CC_DIR=C:\BCC58\BIN
SET HB_INSTALL_PREFIX=c:\xhb123
SET TEMP=C:\TEMP

SET PATH=C:\XHB123\BIN;C:\BCC58\BIN;C:\WINDOWS
SET HB_DIR=C:\XHB123
SET HB_PATH=C:\XHB123
SET INCLUDE=C:\XHB123\INCLUDE;C:\BCC58\INCLUDE;C:\PROGRAMAS\LetoDBf\include
SET LIB=C:\XHB123\LIB;C:\BCC58\LIB
No letodb.hbp:

Código: Selecionar todos

#-env:__BM=yes
{!bcc}-env:__LZ4=yes
-env:__PMURHASH=yes

# alternative to recommended adaption of: source/include//letocdp.ch
# outcomment following line to enable all by Harbour known codepages in LetoDBf
#-prgflag=-D__HB_EXT_CDP__=yes

# to enable full Harbour command set useable for UDF functions
#-prgflag=-DLETO_FULLCMDSET_HB=1
# to enable full CT contrib command set useable for UDF functions
#-prgflag=-DLETO_FULLCMDSET_CT=1

# Uncomment "plugrand" line for a random password used by server to encrypt the
# users/passwords/rights file. Then 'nobody' know the password,
# but with each new server build the file must be deleted/ new created.
#-plugin=plugrand.hb

#-cflag=-D__HARBOUR30__=1
#-prgflag=-D__HARBOUR30__=1

# COMPILAR C/ HBMK2 + XHARBOUR
-xhb

# --- down here you should not modify without deeper knowledge about why ---
-l
-strip
-gc3
-mt
{!win}-static
{win}-fullstatic
{unix}-nodefgt
-obin/letodb
-iinclude
{__LZ4}-isource/3rd/lz4/lib
-n
-w3
-q0
-es0

{bcc}-lhbmemio
{bcc}-lhbct
{!bcc}hbmemio.hbc
{!bcc}hbct.hbc

{bcc&__BM}-lrddbm
{!bcc&__BM}rddbm.hbc


-prgflag={unix}-D__LINUX_DAEMON__
#-prgflag={unix}-D__CONSOLE__
-prgflag={win}-D__WIN_DAEMON__
#-prgflag={win}-D__WIN_SERVICE__
#-cflag={win}-D__WIN_SERVICE__
-cflag={allmsvc}-D_CRT_SECURE_NO_DEPRECATE
-cflag={clang}-W
-cflag={clang}-Wall
-cflag={clang}-pedantic
#-cflag={win}-DHB_HELGRIND_FRIENDLY=1
{__BM}-prgflag=-D__BM
{__BM}-cflag=-D__BM=1
{__LZ4}-prgflag=-DUSE_LZ4=1
{__LZ4}-cflag=-DUSE_LZ4=1
{__PMURHASH}-cflag=-DUSE_PMURHASH=1

source/server/server.prg
source/server/errorsys.prg
source/server/errint.c
{unix}source/server/leto_lnx.c
#{win}source/server/leto_win.c
source/server/letoacc.c
source/server/letovars.c
source/server/letofunc.c
source/server/letolist.c
source/server/leto_2.c
{__BM}source/server/letobm.prg

source/common/blowfish.c
source/common/common_c.c
source/common/common.prg
{__LZ4}source/3rd/lz4/lib/lz4.c
{__LZ4}source/common/lz4net.c
{__PMURHASH}source/common/PMurHash.c

Dá erros:

Código: Selecionar todos

Warning W8017 c:\xhb123\include\hbapirdd.h 125: Redefinition of 'HB_FT_TIME' is not identical
 + Full parser context
 + source\client\letomgmn.c, line 48: #include include\rddleto.h
 + include\rddleto.h, line 75: #include include\letocl.h
 + include\letocl.h, line 58: #include c:\xhb123\include\hbapirdd.h
Error E2139 include\letocl.h 235: Declaration missing ;
 + Full parser context
 + source\client\letomgmn.c, line 48: #include include\rddleto.h
 + include\rddleto.h, line 75: #include include\letocl.h
Error E2139 include\letocl.h 286: Declaration missing ;
 + Full parser context
 + source\client\letomgmn.c, line 48: #include include\rddleto.h
 + include\rddleto.h, line 75: #include include\letocl.h
Error E2139 include\letocl.h 287: Declaration missing ;
 + Full parser context
 + source\client\letomgmn.c, line 48: #include include\rddleto.h
 + include\rddleto.h, line 75: #include include\letocl.h
Warning W8017 include\rddleto.ch 111: Redefinition of 'DBOI_TEMPORARY' is not identical
 + Full parser context
 + source\client\letomgmn.c, line 48: #include include\rddleto.h
 + include\rddleto.h, line 77: #include include\rddleto.ch
Warning W8075 source\client\letomgmn.c 560: Suspicious pointer conversion in function HB_FUN_LETO_MEMOREAD
Warning W8075 source\client\letomgmn.c 588: Suspicious pointer conversion in function HB_FUN_LETO_FILEREAD
Warning W8065 source\client\letomgmn.c 817: Call to function 'HB_ISTIMESTAMP' with no prototype in function HB_FUN_LETO_FILETIME
Warning W8075 source\client\letomgmn.c 819: Suspicious pointer conversion in function HB_FUN_LETO_FILETIME
Error E2227 source\client\letomgmn.c 835: Extra parameter in call to hb_timeEncode in function HB_FUN_LETO_FILETIME
Warning W8075 source\client\letomgmn.c 846: Suspicious pointer conversion in function HB_FUN_LETO_FILETIME
Warning W8065 source\client\letomgmn.c 872: Call to function 'hb_timeStr' with no prototype in function HB_FUN_LETO_FILETIME
Warning W8072 source\client\letomgmn.c 1654: Suspicious pointer arithmetic in function HB_FUN_LETO_USERADD
Warning W8072 source\client\letomgmn.c 1715: Suspicious pointer arithmetic in function HB_FUN_LETO_USERPASSWD
Warning W8075 source\client\letomgmn.c 1893: Suspicious pointer conversion in function HB_FUN_LETO_LOGREQUEST
Warning W8075 source\client\letomgmn.c 2221: Suspicious pointer conversion in function Leto_VarGet
Warning W8004 source\client\letomgmn.c 2255: 'nSize' is assigned a value that is never used in function Leto_VarGet
Warning W8065 source\client\letomgmn.c 2323: Call to function 'hb_itemMove' with no prototype in function HB_FUN_LETO_VARGETSAVE
Warning W8072 source\client\letomgmn.c 2492: Suspicious pointer arithmetic in function HB_FUN_LETO_VARGETLIST
Warning W8072 source\client\letomgmn.c 2531: Suspicious pointer arithmetic in function HB_FUN_LETO_VARGETLIST
Error E2451 source\client\letomgmn.c 2680: Undefined symbol 'HB_AREANO' in function leto_IsLetoAlias
Error E2121 source\client\letomgmn.c 2680: Function call missing ) in function leto_IsLetoAlias
Warning W8065 source\client\letomgmn.c 3027: Call to function 'hb_dynsymIsMemvar' with no prototype in function Leto_VarExprTest
*** 6 errors in Compile ***
source\common\blowfish.c:
Error E2293 source\common\blowfish.c 77: ) expected
Error E2451 source\common\blowfish.c 107: Undefined symbol 's_BFData' in function leto_encrypt
Warning W8065 source\common\blowfish.c 107: Call to function 'hb_stackGetTSD' with no prototype in function leto_encrypt
Error E2451 source\common\blowfish.c 187: Undefined symbol 's_BFData' in function leto_decrypt
Warning W8065 source\common\blowfish.c 187: Call to function 'hb_stackGetTSD' with no prototype in function leto_decrypt
Error E2451 source\common\blowfish.c 254: Undefined symbol 's_BFData' in function leto_cryptReset
Warning W8065 source\common\blowfish.c 254: Call to function 'hb_stackGetTSD' with no prototype in function leto_cryptReset
*** 4 errors in Compile ***
source\common\common_c.c:
Warning W8017 source\common\common_c.c 84: Redefinition of '__NO_CPU_LOAD' is not identical
Warning W8072 source\common\common_c.c 594: Suspicious pointer arithmetic in function HB_FUN_LETO_BSEARCH
source\common\PMurHash.c:
hbmk2[rddleto]: Error: Running C/C++ compiler. 1
bcc32.exe -c -q -CP437 -d -O2 -OS -Ov -Oc -Oi -6  -DUSE_PMURHASH=1 -tWM -w -Q -w-sig- -nC:\Users\numer\AppData\Local\Temp\hbmk_e840c2.dir -IC:\BCC58\Include -IC:\BCC58\Include\dinkumware -Ic:\xhb123\include -Iinclude C:\Users\numer\AppData\Local\Temp\hbmk_e840c2.dir\rddsys.c source\client\letocl.c source\client\leto1.c source\client\letomgmn.c source\common\blowfish.c source\common\common_c.c source\common\PMurHash.c

C:\PROGRAMAS\LetoDBf>

LetoDB para xharbour 1.2.3 Bcc 7.4

Enviado: 07 Jun 2023 22:12
por Linguagemclipper
Aí galera, o Elch fez correções para restaurar a compatibilidade das LIBs com XHARBOUR novamente!
Parece que era um problema na LZ4...
As libs compilaram normalmente, só: make_b32 all

Se der problemas para compilar o server com o HB32 é só baixar novamente ele porque você pode estar usando uma versão mais antiga como foi no meu caso.

Poxa, ao compilar o meu sistema deu uns erros como faltando alguma coisa ainda além das 2 LIBs...
Abrí uma questão lá:
https://github.com/elchs/LetoDBf/issues/29

LetoDB para xharbour 1.2.3 Bcc 7.4

Enviado: 11 Jun 2023 00:39
por Linguagemclipper
Tudo rodando normalmente com o xHarbour!

Fiz um tutorial passo a passo e também disponibilizei a LIB compilada para xHarbour e os binários também. Todos compilados com a versão mais nova no Elchs.
https://linguagemclipper.com.br/blogs/t ... do-windows