Harbour + SQLite3 no Linux
Enviado: 27 Jun 2021 17:08
Ola pessoal.
Estou desenvolvendo um sistema em Harbour e agora vou começar a acessar o SQLite3.
Não consegui fazer o Harbour "enxergar" as bibliotecas "hbsqlit3".
Para começar, eu criei um programa teste:
Instalei a biblioteca sqlite3 no meu Linux Mint. Então a biblioteca está em
Fiz o git clone do repositório do Harbour, para ter as bibliotecas Harbour do sqlite3:
Tenho o arquivo "hbp", chamado compila.hbp, com o seguinte conteúdo:
Ao dar o comando "hbmk2" para compilar e gerar o executável, tenho a seguinte saída:
O executável não é gerado.
O que mais tenho que fazer no "hbp" para ligar meu fonte às bibliotecas "hbsqlit3", e usar o SQLite3?
Obrigado!!
Sergio Lima
Estou desenvolvendo um sistema em Harbour e agora vou começar a acessar o SQLite3.
Não consegui fazer o Harbour "enxergar" as bibliotecas "hbsqlit3".
Para começar, eu criei um programa teste:
Código: Selecionar todos
# teste_sqlite3.prg
#include "hbclass.ch"
#require "hbsqlit3"
? sqlite3_libversion()
Código: Selecionar todos
$ ll /usr/bin/sqlite3
-rwxr-xr-x 1 root root 1447632 Jul 23 2020 /usr/bin/sqlite3*
Código: Selecionar todos
$ ll ~/workspace/core/contrib/3rd/sqlite3
total 5420
drwxrwxr-x 2 sergio sergio 4096 Jun 27 16:53 ./
drwxrwxr-x 3 sergio sergio 4096 Jun 27 14:02 ../
-rw-rw-r-- 1 sergio sergio 5143905 Jun 27 14:02 sqlite3.c
-rw-rw-r-- 1 sergio sergio 1507 Jun 27 14:02 sqlite3.diff
-rw-rw-r-- 1 sergio sergio 353468 Jun 27 14:02 sqlite3.h
-rw-rw-r-- 1 sergio sergio 62 Jun 27 14:02 sqlite3.hbc
-rw-rw-r-- 1 sergio sergio 1505 Jun 27 14:02 sqlite3.hbp
-rw-rw-r-- 1 sergio sergio 26110 Jun 27 14:02 sqlite3x.h
Código: Selecionar todos
#
# $Id: compila.hbp $
#
-w2
-gc3
-ocontas_receber
teste_sqlite3.prg
crmenu.prg
modcli.prg
modlib.prg
Código: Selecionar todos
$ hbmk2 compila.hbp
Harbour 3.2.0dev (r1712151853)
Copyright (c) 1999-2016, http://harbour-project.org/
Compiling 'teste_sqlite3.prg'...
Lines 717, Functions/Procedures 1
Generating C source output to '/tmp/hbmk_X1x7jk.dir/teste_sqlite3.c'... Done.
Compiling 'crmenu.prg'...
Lines 69, Functions/Procedures 3
Generating C source output to '/tmp/hbmk_X1x7jk.dir/crmenu.c'... Done.
Compiling 'modcli.prg'...
modcli.prg(81) Warning W0003 Variable 'NPROGRAMAESCOLHIDO' declared but not used in function 'MOSTRA_DADOS_CLI(61)'
Lines 89, Functions/Procedures 5
Generating C source output to '/tmp/hbmk_X1x7jk.dir/modcli.c'... Done.
Compiling 'modlib.prg'...
Lines 61, Functions/Procedures 6
Generating C source output to '/tmp/hbmk_X1x7jk.dir/modlib.c'... Done.
/usr/bin/ld: /tmp/hbmk_X1x7jk.dir/teste_sqlite3.o:(.data.rel+0x50): undefined reference to `HB_FUN_SQLITE3_LIBVERSION'
collect2: error: ld returned 1 exit status
hbmk2[compila]: Error: Running linker. 1
gcc '/tmp/hbmk_X1x7jk.dir/teste_sqlite3.o' '/tmp/hbmk_X1x7jk.dir/crmenu.o' '/tmp/hbmk_X1x7jk.dir/modcli.o' '/tmp/hbmk_X1x7jk.dir/modlib.o' '/tmp/hbmk_X1x7jk.dir/hbmk_1xkRCm.o' -Wl,--start-group -lhbcplr -lhbdebug -lharbour -Wl,--end-group -o'contas_receber' -L/usr/lib/harbour
hbmk2: Hint: Install package hbsqlit3 and add option 'hbsqlit3.hbc' for missing
function(s): sqlite3_libversion()
O executável não é gerado.
O que mais tenho que fazer no "hbp" para ligar meu fonte às bibliotecas "hbsqlit3", e usar o SQLite3?
Obrigado!!
Sergio Lima