SDL Installation



  • da bin ich wieder....
    da mir ja niemand bei meinem allegro problem helfen kann, habe ich mich entschieden die SDL zu installieren.... habe auch die datei von www.libsdl.org für mingw32(Development Libraries) runtergeladen.
    Damit ich nicht sofort wieder was falsch mache, wollte ich zuerst hier fragen. Wo soll ich die dateien aus er zip datei entpacken und wie soll ich dann weiter verfahren?

    P.S.: Ich habe schon bei den docs danach gesucht, aber nichts gefunden.



  • Wenn ich mich richtig erinnere gibts bei nehe Installations-tuts: nehe.gamedev.net



  • ja da gibt es ein tut für SDL aber ich glaube, dass es mir nicht hilft, da ich dev-cpp benutze.... trotzdem danke



  • Also wenn ich mich recht errinere musst du das ganze zuerst entzippen. Dann musst du /include auf deinen include Path List hinzufügen. Dann musst du dir noch die (compilirte) Win32 SDL DLL von www.libsdl.org runterladen. Jetzt noch mit dlltool eine Importlibrary (libsdl.a) von der DLL machen und dann ist das willdeste geschafft.

    So nun musst in den source code von SDL gehen und nach SDL_win32_main.c suchen.

    Um nun eine SDL Applikation zu kompiliren, musst du -lsdl angeben (damit libsdl.a gelinkt wird) und SDL_win32_main.c mit kompiliren. Das ganze mit -mwindows.

    Dein Program fängt at int main(int,char**) an (kein void main() und auch kein int main()!) desweitern muss SDL.h in dem Modul inkludiert werden indem int main(int,char**) definirt ist (,dass es per Makro zu SDL_main wird und dann aus WinMain in SDL_win32_main.c aufgerufen wird).

    Der Grund wieso ich SDL_win32_main.c nicht auch in libsdl.a packe ist weil MinGW irgendwie Probleme hat WinMain zu finden wenn es in einem Archive ist (frag mich nicht warum).



  • hmmm. also ich benutze mingw32 nativ, und da war das recht easy...
    da geht man nur ins dir der entpackten SDL-devel-1.2.7-mingw32.tar.gz und "make mingw32" eingeben...

    und beim compilen/linken eines SDL-programms einfach "-lmingw32 -lSDLmain -lSDL" anhängen...

    kleiner tipp: noch "-mwindows" anhängen, dann verschwindet die konsole 🙂

    ---loki



  • ⚠ achtung dumme frage ⚠

    wo muss ich das anhängen? kenne mich da noch nicht so aus.



  • wo muss ich das anhängen? kenne mich da noch nicht so aus.

    Wo was? Einfach auf der Commandline anhängen.

    und beim compilen/linken eines SDL-programms einfach "-lmingw32 -lSDLmain -lSDL" anhängen...

    Ich hatte Probleme damit, bei mir wollt MinGW einfach WinMain nicht finden (obwohl sie in libSDLmain.a war).



  • Ben04 schrieb:

    und beim compilen/linken eines SDL-programms einfach "-lmingw32 -lSDLmain -lSDL" anhängen...

    Ich hatte Probleme damit, bei mir wollt MinGW einfach WinMain nicht finden (obwohl sie in libSDLmain.a war).

    man muss aufpassen, dass man die richtige reihenfolge erwischt... ich hatte mal die reihenfolge leicht verändert und es ging nicht. ("undefined reference to WinMain@16")....
    also ich glaube die -SDLmain muss eben VOR die -SDL



  • okay, wenn ich das anhänge, dann kompiliert er das auch, aber wenn er die datei ausführen möchte, dann kommt ein fehler, dass er die dynamic link library SDL.dll nicht gefunden hat... wo muss die denn hin?

    das wäre dann das letzte problem... (hoffe ich)



  • simpel: entweder in das verzeichnis deiner .EXE, oder einfach in den root kopieren (%windir% e.g. C:\windows oder C:\winnt... oder noch besser nach %windir%\system32).......



  • danke...... jetzt erstellt er eine datei, doch es wird gar nichts angezeigt....
    und er macht auch gar nichts....

    kannst du mir mal ein beispielprogramm schicken, bei dem er einfach eine textzeile ausgibt?

    dann kann ich mal testen, ob es an meinem code lag oder es doch noch ein problem gibt.

    danke jetzt schon mal!


Log in to reply