Seite 1 von 1

probleme mit SDL nakefile unter Debian Linux

Verfasst: Sa Dez 15, 2012 3:16 pm
von gizno82
Hallo

Ich versuche schon seit einigen Tagen SDL unter Debian Linux zum laufen zu bekommen, leider bis her ohne Erfolg.
Ich möchte GNU Make nutzen, doch ich denke mit dem Makefile passt irgend etwas nicht.

Ich habe ein kleines Testprogramm geschrieben, dass SDL initialisiert und wieder beendet siehe Anhang.
Das Makefile befindet sich auch im Anhang.
Wenn ich in dem Verzeichnis in dem das Testprogramm und das Makefile liegen make eingebe wird versucht zu compilieren.
Letzten endes scheitert aber alles daran, dass die SDL.h nicht gefunden wird und so mit auch nicht die SDL_Init und SDL_Quit funktion.

Wo im Makefile muss ich angeben das die SDL.h auch genutzt werden soll ?
Könnte sich bitte jemand mein Makefile anschauen und es so verbessern, dass es funktioniert ?
Nicht wundern das Makefile hat die Endung .txt da ich es sonst nicht anhängen kann, bei mir auf dem Rechner hat es natürlich keine Datei Endung so wie sich das gehört.

Danke

Grüße

gizno82
Makefile.txt
sdlTest.cpp

Re: probleme mit SDL nakefile unter Debian Linux

Verfasst: Sa Dez 15, 2012 3:27 pm
von nufan
Sicher, dass die Datei in /usr/local/include/SDL liegt und nicht etwa in /usr/include/SDL?

Re: probleme mit SDL nakefile unter Debian Linux

Verfasst: Sa Dez 15, 2012 5:17 pm
von gizno82
Ich habe jetzt local rauß genommen.
Habe händisch per g++ sdlTest.cpp -o sdlTest `sdl-config --libs --cflags` übersetzt.
Damit funktioniert es wie muss ich das Makefile jetzt umstricken ?
Was bedeuten eigentlich die Hochkommas in der Zeile ?

Im Quellcode steht jetzt anstatt #include <SDL.h> #include <SDL/SDL.h>.

Danke für die Hilfe.

Grüße Gizno

Re: probleme mit SDL nakefile unter Debian Linux

Verfasst: Sa Dez 15, 2012 5:24 pm
von nufan
gizno82 hat geschrieben:Habe händisch per g++ sdlTest.cpp -o sdlTest `sdl-config --libs --cflags` übersetzt.
Damit funktioniert es wie muss ich das Makefile jetzt umstricken ?
Was bedeuten eigentlich die Hochkommas in der Zeile ?
In den Hochkommas wird das Programm sdl-config ausgeführt. Die Ausgabe des Programms wird dann als Parameter für g++ verwendet. Du kannst das auch so machen:

Code: Alles auswählen

$ sdl-config --libs --cflags
-L/usr/lib/x86_64-linux-gnu -lSDL
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
Hier siehst du deine Pfade, die du auch ins Makefile eintragen musst. Du kannst auch gleich sdl-config ins Makefile schreiben, aber ich bin mir nicht sicher wie das unter Windows funktioniert.
gizno82 hat geschrieben:Im Quellcode steht jetzt anstatt #include <SDL.h> #include <SDL/SDL.h>.
In deinem Fall ist das egal. Du hast sowohl /usr/include als auch /usr/include/SDL in der Liste deiner Include-Verzeichnisse.