[Gelöst] SDL_image nicht gefunden.


Krux

Active Member
Joined
Feb 28, 2006
Messages
556
Ich versuche mich gerade an einem SDL programm, bin momentan aber noch unter Linux. ich habe den SDL_image Sourcecode bereits per rpm installiert, aber trotzdem findert KDevelop die SDL_image.h nicht. Wisst ihr, wass genau ich noch tun muss, damit der die auch findet?
 
befindet sich die Datei denn überhaupt bei dir auf der Platte? Und welches Paket hast du genau woher installiert? Normalerweise dürfte du nicht das source-rpm sondern die headers brauchen, die liegen meistens in Paketetn mit -dev am Ende.
 
Re: SDL_image nicht gefunden.

<r><QUOTE author="Krux"><s>
Krux said:
</s>Ich versuche mich gerade an einem SDL programm, bin momentan aber <B><s></s>noch<e></e></B> unter Linux. ich habe den SDL_image Sourcecode bereits per rpm installiert, aber trotzdem findert KDevelop die SDL_image.h nicht. Wisst ihr, wass genau ich noch tun muss, damit der die auch findet?<e>
</e></QUOTE>

also am besten sagst du erstmal welche Distri du benutzt, und dann läßt du bitte das noch weg und ersetzt es mit schon <E>^_^</E></r>
 
So eines möchte ich allerdings noch erklärt bekommen, warum sine die Header vom sourcecode getrennt, Den sourcecode kann man doch nur gebrauchen wenn man auch die dazugehörigen header hat, andererseits sind header ohne sourcecode doch völlig nutzlos :?

Ich hab Suse 10.1 und hab übrigens die devel rpm heruntergeladen und es klappt jetzt auch, zumindest zeigt der mir nicht mehr an, dass er die header nicht mehr findet. Danke.
Gibt es sonst noch was, das ich wissen müsste, oder kann ich jetzt jederzeit neue devel pakete Installieren, und losprogrammieren?


Edit:
Ne es klappt nicht, KDevelop sagt mir folgenden Fehler?:
/home/Krux/Documents/C++/sdltest/src/Tux.cpp:27: undefined reference to `IMG_Load'
 
Wenn du dir eine Anwendung oder Bibliothek aus den Sourcen kompilierst hast du die Headers, bei den Binärpaketetn der Distributoren wird dies jedoch getrennet, da die Headers nur von Entwicklern benötigt werden.
 
ähm was is das? Vorallem was is blahmuh also etwas genauer wär nich schlecht, und ne Beschreibung, damit ich denn sinn auch etwas besser verstehen kann. ich verstehen die ganen komilergeschichten und linkergeschichten nicht, warum kann der nicht allers was er blraucht aus dem source lesen, da steht doch für gewöhnlich alles drin.
 
Sorry für doppelpos, aber ich sitzt schon den Ganzen tag daran, ein einfaches PNG bild einzuladen, und Darzustellen, das kann doch nicht so schwer sein. Wass soll denn das mit dem .c file, wozu brauche ich das und WAS überhaupt für ein c file, in meinem Projekt gibt es nu cpp und h files, und für die Daeien aus SDL_image sollte doch der Linker zuständig sein, bitte beeilt mit der Hilfe ein wenig mehr, ich bin hier fast am verzweilfeil, und niergens im ganzen web ist eine Dokumentation mit der ich etwas anfanken kann.
 
aaaalso *.c Dateien sind ANSI C Dateien, also nicht C++ sondern einfach nur C. *.cpp Dateien sind C++ Dateien - Ich könnte also auch "gcc -lSDL_image blahmuh.cpp" schreiben und es gilt für dich ;) Das Blahmuh ist dabei nur nen Bsp. Du kannst das natürlich auch anders nennen - so jedenfalls heißt deine Sourcecode Datei :) Das -lSDL_image sagt dem Compiler, welche Librarys er beim Compilieren mit einbinden soll...
 
also mit blahmuh meinst du also mein main file. und wo genau muss ich nin diese zeilen einfügen in KDevelop?
 
Ähm das waren Befehle fürs Terminal :) Kug mal unter
[Projekt Optionen] -> [Compiler Einstellungen] -> [Linker Flags] -> [Additional flags]

kdevelop.jpg


Da kannst du dann ja mal Eintragen, was du brauchst ;)
 
ja dass bild kenn ich von meinen Streifzügen durchs internet, aber weiterhelfen tut es mir nicht, denn bei mir gibt es da keine Compiler einstellungen und somit kann ich da auch nichts eintragen. Also bitte weiterhelfen. Das sieht bei mir sowiso ganz anders aus, liegt vieleicht daran, dass ich KDE benutze.
 
Krux said:
ja dass bild kenn ich von meinen Streifzügen durchs internet, aber weiterhelfen tut es mir nicht, denn bei mir gibt es da keine Compiler einstellungen und somit kann ich da auch nichts eintragen. Also bitte weiterhelfen. Das sieht bei mir sowiso ganz anders aus, liegt vieleicht daran, dass ich KDE benutze.

ne ist nicht wahr..., du benutzt ja auch kDevelop und nicht anjuta oder ähnliches ;) Mh auf jeden Fall solltest du mal in nach den Projekt Einstellungen suchen! Das mit dem Bild kann daran liegen, das es von ner uralt Version ist :P
 
Ich hab was gefunden unter "Erstellen für configure", und dass heißt "Schalter für den Linker (LDFLAGS):", und da hab ich "gcc -lSDL_image Tux.cpp" reingeschrieben herausgekommen ist beim configure erneut ausführen "*** Beendet mit Status: 77 ***". Also wieder keine Lösung
 
Krux said:
Ich hab was gefunden unter "Erstellen für configure", und dass heißt "Schalter für den Linker (LDFLAGS):", und da hab ich "gcc -lSDL_image Tux.cpp" reingeschrieben herausgekommen ist beim configure erneut ausführen "*** Beendet mit Status: 77 ***". Also wieder keine Lösung

:lol: :lol: :lol: Ne also da muss nur -lSDL_image rein... das gcc und die dateinamen ergänzt der sich selbst ^^
 
Ob das ausreichen wird ist natuerlich eine andere Frage. Wie im Screenshot zu sehen wird ja "sdl-config --libs" da ausgefuehrt und das gibt dir die zum Linken benoetigten Bibliotheken fuer SDL zurueck. Hinter dem, was da ausgegeben worden ist kommt dann das "-lSDL_image" hinter.
 
ja der befehl gibt mir was zurück ok, aber wie verarbeite ich das dann, und wo finde ich eine ausführlich doku darüber? Mich stört es langsahm immer auf antworten aus dem Forum warten zu müssen, und dann doch nicht weiter zu kommen und niemand anderes Fragen zu können, weil niemand in der Gegend sich mit programmierung auskennt, die ham ja noch nicht mal Linux gesehen. Also die Hilfedatei von Kdevelop ist irgentwie nicht da, kann ich die auch wo anders herbekommen? Und wo ist eine ausführliche Dukumentation über das was ich hier die ganze zeit versuche hinzubekommen, was es auch sein mag.
 
linkerflags:
-L/usr/lib -lSDL_image -lSDL

ausgabezeile in KDevelop:
cd '/home/Krux/Documents/C++/sdltest/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -j1
gmake all-recursive
Making all in src
Linken der Datei sdltest (libtool)
libtool: link: cannot find the library `/usr/local/lib/libSDL.la'
gmake[2]: *** [sdltest] Fehler 1
gmake[1]: *** [all-recursive] Fehler 1
gmake: *** [all] Fehler 2

Das ist mein Bisheriger stand, und eine Frage ist noch hinzugekommen: Warum ist das so kompliziert und so wenig dokumentiert?
 
Krux said:
Linkerflags:
-L/usr/lib -lSDL_image -lSDL

Ausgabezeile in KDevelop:
cd '/home/Krux/Documents/C++/sdltest/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -j1
gmake all-recursive
Making all in src
Linken der Datei sdltest (libtool)
libtool: link: cannot find the library `/usr/local/lib/libSDL.la'
gmake[2]: *** [sdltest] Fehler 1
gmake[1]: *** [all-recursive] Fehler 1
gmake: *** [all] Fehler 2

Das ist mein Bisheriger stand, und eine Frage ist noch hinzugekommen: Warum ist das so kompliziert und so wenig dokumentiert?

so kompliziert ist das gar nicht :)
Code:
<i>
</i>libtool: link: cannot find the library `/usr/local/lib/libSDL.la'

kug doch mal, ob da etwas liegt das so oder ähnlich heißt ;) Ansonsten schau auch nochmal in /usr/lib, da du das ja mit übergeben hast...
 
Back
Top