Nicht definierte Verweise auf Funktionen innerhalb von SDL2 / SDL2_framerate.h - linux, sdl-2

Ich habe ein Problem bei der Kompilierung meines Codes, der die Bibliothek verwendet.

Vor allem habe ich ein ran sudo apt-get install libsdl2-* und installierte alles, was sie mir geben konnten.

Als nächstes baute ich manuell das verdammte Ding. Ich habe die Quelle online gefunden diese URL. Ich bin mir nicht sicher, wo ich das Kompilieren ablegen soll .so object Ich habe generiert mit:

gcc -c -fpic -lSDL2 SDL2_framerate.c -o SDL2_framerate.so

Also habe ich versucht, mit dem generierten Objekt, das ich erstellt habe, manuell zu kompilieren. Kein Glück, das Ding tut kompilieren, aber es segmentiert Fehler bei mir sofort. Ich habe versucht, ohne zu kompilieren -fpic und immer noch kein Glück.

Der Segmentierungsfehler wird verursacht durch SDL_initFramerate gemäß GDB. Ich gehe davon aus, dass dies daran liegt, dass es die Funktion an der falschen Stelle sucht, ich bin wiederum völlig unsicher, wo genau Dies soll gehen, da ich nicht in der Lage war, wo auf meinem System zu lokalisieren libsdl2.so ist (oder eine Version von libsdl2).

Ich bin ratlos, ich möchte gerne das verwenden, was diese Bibliothek zu bieten hat, aber es scheint entweder, dass es einen Fehler in der Bibliothek gibt (oder eher einen Benutzerfehler), oder es ist noch nicht vollständig implementiert.

Ich hoffe, jemand hat ein ähnliches Problem gesehen oder hat ein besseres Verständnis dafür, was vor sich geht und wie man es beheben kann.

Antworten:

0 für die Antwort № 1

Ich habe herausgefunden, was ich falsch gemacht habe. Zuerst übergab ich das FPSmanager-Objekt nicht an die richtigen Funktionen, was bedeutete, dass ich die Funktionen nicht richtig verwendete.

Zweitens habe ich herausgefunden, dass Sie kompilieren müssenes mit dem Verbindungskennzeichen -SDL2_gfx. Nicht genau, wo oder wie man herausfinden kann, welche Compiler-Flags ohne Trial-and-Error benötigt werden (ich bin mir sicher, dass es einen schöneren Weg gibt, es zu tun, ich habe es einfach nicht gefunden).


Am beliebtesten