Ich habe es Default kompiliert und installiert. Sämtliche libs und Header sind in /usr/local gelandet.
Dies wird mir auch schön brav angezeigt.
Code: Alles auswählen
$pkg-config sdl3 --libs
-L/usr/local/lib/pkgconfig/../../lib -Wl,-rpath,/usr/local/lib/pkgconfig/../../lib -Wl,--enable-new-dtags -lSDL3
Code: Alles auswählen
gcc main.c -o test `pkg-config sdl3 --libs`
Code: Alles auswählen
program Project1;
const
SDL_LibName = 'libSDL3.so.0';
type
cuint8 = byte;
PSDL_Version = ^TSDL_Version;
TSDL_Version = record
major, minor, patch: cuint8;
end;
procedure SDL_GetVersion(ver: PSDL_Version); cdecl; external SDL_LibName;
var
ver: TSDL_Version;
begin
SDL_GetVersion(@ver);
WriteLn(ver.major, '.', ver.minor, '.', ver.patch);
end.
Code: Alles auswählen
./Project1
./Project1: error while loading shared libraries: libSDL3.so.0: cannot open shared object file: No such file or directory
Woran liegt dies, das ein C-Programm die libs /usr/local/lib findet, und ein Lazarus-Programm nicht ?