c Cpmpiler = gcc
ich habe die neuste SQLit3.c source datei zu einer Obj Datei kompiliert.
Anschliessend die Obj Datei mit einem Lazarus Wrapper in eine Lazarus Konsolen Applikation eingebunden.
Dies funktioniert mit Windows 10 64 Bit wunderbar.
Die Applikation läuft mit der Embedded SQLite Datenbank.
Nun wollte ich das selbe unter Linux machen.
SQLit3.c unter Linux mit gcc zu sqlite.o kompiliert und eingebunden wie bei Windows.
Lazarus ist als Cross Compiler für Linux x86_64 und aarch64 installiert und eingerichtet.
Dabei kommt folgende Fehlermeldung :
Debug: C:\LazarusCross_300\cross\bin\aarch64-linux\aarch64-linux-gnu-ld.exe: C:\DevelopeHomeMaster\Apps\RpiHomeMasterCli\Pas\..\Lib\aarch64-linux\sqlite3.o:(.data.rel+0xb0): undefined reference to `fcntl64'
Code: Alles auswählen
{$PACKRECORDS C} (* C/C++-compatible record packing *)
{$IFDEF WIN64}
{$link ..\Lib\x86_64-win64\sqlite3.o} // link SQlite3 database engine
// {$Link ..\lib\x86_64-win64\cosvermain64.o}
{$Linklib ..\Lib\x86_64-win64\libmsvcrt.a}
{$Linklib ..\lib\x86_64-win64\kernel32.a}
{$Linklib ..\lib\x86_64-win64\libgcc.a}
{$ELSE}
{$IFDEF CPUAARCH64}
{$link ../Lib/aarch64-linux/sqlite3.o} // link SQlite3 database engine
{$Linklib ../Lib/aarch64-linux/libgcc.a}
{$ENDIF}
{$IFDEF CPUx86_64}
{$link ../Lib/x86_64-linux/sqlite3.o} // link SQlite3 database engine
{$Linklib ../Lib/x86_64-linux/libgcc.a}
{$ENDIF}
{$ENDIF}
Ist es möglich SQLite3 DB auch in Linux als Embedded DB einzubinden oder nur über eine Shared library ?
Wer weiss wie man den Fehler besitigen kann.
Grüße Acia6850