• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

KDevelop + SDL + SDL_image = Verzweiflung^10

pi

Newbie
Hallo,
Ich versuche derzeit ein kleines Spiel das ich unter Windows angefangen hatte zu programmieren weiter bzw. zu Ende zu bringen.
Als Entwicklungsumgebung nutze ich derzeit KDevelop, das Spiel nutz die SDL-Biblioteken (SDL, SDL_image, SDL_mixer) für Grafik, Sound und Input.
Unter Windows kann ich das ganze ohne Probleme kompilieren.
Eine einfache SDL-Anwendung unter KDevelop ist auch kein Problem, wenn ich allerdings versuche SDL_image einzubinden bekomme ich immer folgenden Fehler:

Code:
cd '/data/Entwicklung/YAS/Code/yas/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k -j1 
Linken der Datei yas (libtool)
*** Beendet mit Status: 2 ***

Bei den Linker-Einstellungen hatte ich bisher folgende Kombinationen ausprobiert, ohne das dadurch irgendetwas geändert wurde:
-I/usr/include/SDL/ -L/usr/lib/ -lSDL -lSDL_image
-lSDL -lSDL_image
-L/usr/lib/ -lSDL -lSDL_image
-I/usr/include/SDL/ -lSDL -lSDL_image

libSDL_image liegt im selben Verzeichnis wie libSDL.a (/usr/lib), man sollte also davon ausgehen, das er das auch finden sollte, mit SDL alleine gibt es ja auch keine Probleme, oder?

Irgendwie macht mich das echt fertig, auch nach über einer Stunde herumgegoogle habe ich noch nichts gefunden das mir hilft, daher nun mein verzweifelter Hilferuf hier...)8
 

taki

Advanced Hacker
Hallo.
Wo gibst Du die Linkeroptionen vor?

Mir ging das neulich mit ner KDE Anwendung so (s.a. http://www.linux-club.de/viewtopic.php?p=140278#140278, könnte mir vorstellen, dass für das SDL-Problem das gleiche gilt). Ich hatte hilflos bei den Projektoptionen unter den Configure-Einstellungen verschiedene Sachen ausprobiert, um die Bibliotheken kio und kfile mit zu linken. Kam mir dabei schon richtig doof vor :oops: , weil es so offensichtlich war, dass nur eine Kleinigkeit fehlt ums hinzubekommen, ich aber ums verrecken nicht rausbekam, WO ich es drehen muss.

Im Makefile.am muss man es machen. Die Optionen für den Linker dort eingetragen, dann findet er die Bibliotheken auch.

Ich wüsste nun schon gerne, wofür die Optionen in den Projekteinstellungen denn gut sein sollen, Einstellungen dort sind entweder wirkungslos oder machen es noch schlimmer :?:

Vielleicht hilft Dir das.
Gruß aus Berlin,
Andreas
 
OP
P

pi

Newbie
hm,
hatte das ganze mal mit der Anjuta IDE kompiliert und dort Meldungen über fehlende Libraries bekommen, die SDL scheinbar braucht, die allerdings wohl in einen anderen Pfad sein sollten als sie bei mir vorinstalleirt waren. Mal einfach die Libraries kopiert -> nun funzt, auch wenn SDL seltsamerweise ziemlich lahm ist.
 

marcin

Newbie
pi, musst du es unbedingt mit KDevelop kompilieren ? Wäre es nicht einfacher sich einfach eingenes Makefile-Script an zu legen ?
Da versteht man zumindest was da vorsich geht.
Du hast geschrieben das du da SDL benutzt.Ohne KDevelop ist es eigentlich kein Problem SDL-Programme zu kompileren.Zum beispiel mit diesem Aufruf:
Code:
g++ -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -I/usr/include/SDL \-D_REENTRANT quellcode.c -o ziel

auch wenn SDL seltsamerweise ziemlich lahm ist.
Das hat aber sicher nichts mit dem kompilieren zu tun, sondern eher mit dem Quellcode
 
OP
P

pi

Newbie
Natürlich muss ich es nicht unbedingt mit KDevelop kompilieren, aber so eine IDE ist halt was feines wenn man so faul ist wie ich (8.

Das SDL so langsam war hatte sicher auch was mit dem code zu tun, allerdings war es selbst für ganz mies geschriebenen code einfach viel zu langsam: Zeichnen von etwa 20 Tiles um den halben Bildschirm zu bedecken ist mit um die 10 FPS gelaufen (bei 640x480 aufn 2,6 Athlon^^).
 
Oben