SDL in Visual Studio C++ 2008 Express einbinden



  • Hi,
    ich bin irgendwie am verzweifeln. Ich versuche seit einer halben Stunde die SDL in mein Projekt einzubinden, um mich ein bisschen mit deren Funktionen vertraut zu machen, aber irgendwie bekomm ichs nicht hin.

    Also ich hab die SDL runtergeladen (1.2.9 für VC), dann nach C:\Programme\Microsoft Visual Studio 9.0 verschoben.
    Dann hab ich bei Extras->Optionen->VC++-Verzeichnisse bei include Dateien
    C:\Programme\Microsoft Visual Studio 9.0\SDL-1.2.9\include
    angegeben und bei den Bibliotheksdateien
    C:\Programme\Microsoft Visual Studio 9.0\SDL-1.2.9\lib

    Dann hab ich bei Projekt->Eigenschaften->Linker->Eingabe bei Zusätzliche Abhängigkeiten
    SDL.lib SDLmain.lib
    angegeben und noch bei C/C++->Codegenerierung->Laufzeitbibliothek
    Multithreaded-DLL (/MD)
    eingestellt.

    So, dann hab ich einfach mal folgendes versucht:

    #include <SDL.h>
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    	return 0;
    }
    

    Als Fehler kommt:

    LINK : fatal error LNK1561: Einstiegspunkt muss definiert werden.
    

    Da ich das hier das erste Mal mach, hab ich keine Ahnung wie man den Einstiegspunkt definiert. Ich hoffe ihr könnt mir helfen.

    Danke schon mal fürs lesen 🙂





  • tut mir leid, aber da werd ich nicht schlau draus....



  • Na, da steht das er keinen Einstiegspunkt findet. Also sowas wie main(), WinMain()...
    Soweit ich weiß, verarsch*** SDL mit der main()!!! Soll heißen, deine main() ist garnicht der Runtime-Einstiegspunkt. Die SDL.lib hat nämlich selbst eine WinMain() implementiert und ruft dann nur deine main() auf.

    Schreib erstmal deine main() nach SDL-Konvention:

    int main(int argc, char **argv)
    

    Und dann mußt du auch wegen der WinMain() das richtige Subsystem in MSVC konfigurieren:
    /subsystem:windows (wird normalerweise bei Win32-Fenster-Anwendungen gesetzt)

    Ansonst wüsste ich auch nicht weiter.



  • oh, da fällt mir auf, dass ich eine Konsolenanwendung erstellt habe. 🙄

    Okay, jetzt funktioniert es zwar, allerdings kommt jetzt, dass er die SDL.dll nicht findet, die ja im lib-Ordner mit drin ist. Ich hab sie jetzt zwar mit in den Ordner der .exe kopiert, aber das wird doch bestimmt auch noch irgendwie anders funktionieren oder?



  • Cloppy schrieb:

    Okay, jetzt funktioniert es zwar, allerdings kommt jetzt, dass er die SDL.dll nicht findet, die ja im lib-Ordner mit drin ist. Ich hab sie jetzt zwar mit in den Ordner der .exe kopiert, aber das wird doch bestimmt auch noch irgendwie anders funktionieren oder?

    Nö, das ist so korreckt. Eine Alternative wäre die DLL in ein System-VErzeichnis zu installieren. Was aber Admin-Rechte nötig macht. Aber die DLL im EXE-Verzeichnis ist völlig i.O.



  • vllt kann das noch helfen 😉

    da is ne .bat dabei die alles für dich macht 😉
    mby noch die abt je nach windows und visual studio version/location bearbeiten 😉

    http://dev.indra-ehm.net/2008/12/setting-visual-studio-2008-for-sdl/

    MfG


Anmelden zum Antworten