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 Bezeichnerlä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
#includean 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ärtWir 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.