Problem beim Einbinden der SDL



  • es is ja gar nicht soooo viel
    ich post einfach mal alles:

    ------ Neues Erstellen gestartet: Projekt: Cosmoreign, Konfiguration: Debug Win32 ------
    Die Zwischen- und Ausgabedateien für das Projekt "Cosmoreign" mit der Konfiguration "Debug|Win32" werden gelöscht.
    Kompilieren...
    Game.cpp
    c:\projekte_c++\cosmoreign\cosmoreign\game.hpp(18) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    c:\projekte_c++\cosmoreign\cosmoreign\game.hpp(18) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    c:\projekte_c++\cosmoreign\cosmoreign\game.hpp(18) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(9) : error C2065: 'm_pSpriteBackground': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(9) : error C2065: 'NULL': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(20) : error C2065: 'm_pSpriteBackground': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(20) : error C2061: Syntaxfehler: Bezeichner 'CSprite'
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(21) : error C2065: 'm_pSpriteBackground': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(21) : error C2227: Links von "->Load" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
            Typ ist ''unknown-type''
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(36) : error C2065: 'm_pSpriteBackground': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(36) : error C2065: 'NULL': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(38) : error C2065: 'm_pSpriteBackground': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(38) : error C2541: 'delete': Objekte, die keine Zeiger sind, können nicht gelöscht werden
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(39) : error C2065: 'm_pSpriteBackground': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(39) : error C2065: 'NULL': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(59) : error C2065: 'g_pFramework': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(59) : error C2227: Links von "->Update" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
            Typ ist ''unknown-type''
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(60) : error C2065: 'g_pFramework': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(60) : error C2227: Links von "->Clear" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
            Typ ist ''unknown-type''
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(63) : error C2065: 'm_pSpriteBackground': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(63) : error C2227: Links von "->Render" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
            Typ ist ''unknown-type''
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(66) : error C2065: 'g_pFramework': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(66) : error C2227: Links von "->Flip" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.
            Typ ist ''unknown-type''
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(79) : error C2065: 'SDL_Event': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(79) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Event'
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(79) : error C2065: 'Event': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(82) : error C2065: 'Event': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(82) : error C3861: "SDL_PollEvent": Bezeichner wurde nicht gefunden.
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(85) : error C2065: 'Event': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(85) : error C2228: Links von ".type" muss sich eine Klasse/Struktur/Union befinden.
            Typ ist ''unknown-type''
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(88) : error C2065: 'SDL_QUIT': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(88) : error C2051: case-Ausdruck ist keine Konstante
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(95) : error C2065: 'SDL_KEYDOWN': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(95) : error C2051: case-Ausdruck ist keine Konstante
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(97) : error C2065: 'Event': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(97) : error C2228: Links von ".key" muss sich eine Klasse/Struktur/Union befinden.
            Typ ist ''unknown-type''
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(97) : error C2228: Links von ".keysym" muss sich eine Klasse/Struktur/Union befinden.
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(97) : error C2228: Links von ".sym" muss sich eine Klasse/Struktur/Union befinden.
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(99) : error C2065: 'SDLK_ESCAPE': nichtdeklarierter Bezeichner
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(99) : error C2051: case-Ausdruck ist keine Konstante
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(105) : warning C4060: switch-Anweisung enthält weder 'case'- noch 'default'-Marken
    c:\projekte_c++\cosmoreign\cosmoreign\game.cpp(107) : warning C4060: switch-Anweisung enthält weder 'case'- noch 'default'-Marken
    main.cpp
    c:\projekte_c++\cosmoreign\cosmoreign\game.hpp(18) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    c:\projekte_c++\cosmoreign\cosmoreign\game.hpp(18) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    c:\projekte_c++\cosmoreign\cosmoreign\game.hpp(18) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    Sprite.cpp
    Timer.cpp
    Code wird generiert...
    Das Buildprotokoll wurde unter "file://c:\Projekte_C++\Cosmoreign\Cosmoreign\Debug\BuildLog.htm" gespeichert.
    Cosmoreign - 43 Fehler, 2 Warnung(en)
    ========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========
    


  • Nochmals: Hast du irgendwo in deinem Code #include -Direktiven? Besonders die Fehlermeldung

    'NULL': nichtdeklarierter Bezeichner
    

    lässt mich darauf schliessen, dass du nicht mal die Standardheader inkludiert hast.



  • also ignoriert hab ich die standartbibliotheken nicht aber ich habe nirgends expliziert #include .... stehen
    muss ich dass wohin schreiben?



  • Das Problem lässt sich in diesem Fall sehr einfach lösen.

    Und zwar musst du beim Lesen deines Buches einfach am Anfang beginnen und nicht am Ende.
    Diese Art des Lesens hat zum einen den Vorteil, dass die neuen Inhalte in der Regel direkt auf das zuvor gelesene aufbauen und zum anderen sind einem die Informationen die nicht behandelt werden aber dennoch auftauchen zu mindest nicht völlig fremd.

    Diese spezielle Leseechnik lässt sich natürlich nicht nur auf speziell das Buch anwenden, das du gerade liest, sondern auch auf so gut wie jedes andere Buch auch.
    Gerade weil diese Technik so allgemeingültig anwendbar ist, sollte man sich unbedingt mir ihr befassen, sie bwirkt wahre Wunder.



  • omg ihr denkt jetzt alle ich bin irgendso ein opfer welches das buch von hinten nach vorne ließt weil er entweder so dumm ist oder zu viel manga gelesen hatt
    sry is nicht so
    ich hab das buch schon gelesen und habe schon 2 spiele mit sdl programmiert
    dann musste ich meinen laptop auf 0 reseten und alles neuinstallieren
    tja und jetzt kommt der ******** fehler
    also PLZZZZZZZZZ help ich weiß echt nicht weiter



  • greece57 schrieb:

    ich hab das buch schon gelesen und habe schon 2 spiele mit sdl programmiert

    Dann solltest du aber so langsam wissen, wozu man Include-Präprozessoranweisungen braucht. Vielleicht wäre es auch nicht schlecht, man würde sich zuerst etwas mit C++ befassen, bevor man übereilig an die Spieleprogrammierung herangeht...

    greece57 schrieb:

    also PLZZZZZZZZZ help ich weiß echt nicht weiter

    Die Antwort wurde dir eigentlich schon gegeben. Du brauchst #include an den Stellen, bei denen du einen Header einbinden willst.



  • Also das hier:

    also ignoriert hab ich die standartbibliotheken nicht aber ich habe nirgends expliziert #include .... stehen
    muss ich dass wohin schreiben?

    lässt darauf schliessen, dass du dich nicht genug mit der C++ Programmierung auseinandergesetzt hast. Wo ein include hin muss und wo nicht solltest du schon wissen, wenn du ein grösseres Programm schreibst.. 🙄

    Du solltest jetzt aber eigentlich auch wissen, dass es ja nicht am Code liegen kann, wenn der so mal gelaufen ist. Von dem her überprüf mal, ob du alle Pfade richtig gesetzt hast und alles richtig linkst..



  • die pfade sind richtig gesetzt
    das mit #include kam mehr aus der verzweiflung als aus der überlegung
    Die Pfade sind richtig
    und was mit "verlinken" gemeint ist hat mir immer noch keiner erklärt



  • greece57 schrieb:

    die pfade sind richtig gesetzt
    das mit #include kam mehr aus der verzweiflung als aus der überlegung
    Die Pfade sind richtig
    und was mit "verlinken" gemeint ist hat mir immer noch keiner erklärt

    Wir können dir auch noch hundert Mal sagen, dass du vergessen hast, gewisse Dateien zu inkludieren. Es liegt nicht am Linken (zumindest momentan; gut möglich, dass das auch noch kommt).



  • Vielleicht postest du auch einfach mal diese game.cpp und die dazugehörige game.h.
    Dann können wir dir auch auf die Zeile genau sagen, was du vergessen hast. 😉



  • Alternativ kann er sich auch mit den Grundlagen von C++ beschäftigen.

    Das läuft sonst nur wieder auf ein Ratespiel hinaus, zumal wir sowieso nicht genau wissen, welche SDL-Header er benötigt.


Anmelden zum Antworten