Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Des

Frischling

  • »Des« ist der Autor dieses Themas
  • Private Nachricht senden

1

03.05.2011, 16:09

Problem Kapitel 12

Hallo!
Ich habe nun das Buch durchgelesen und möchte nun das Spiel erweitern. Deshalb habe ich es übernommen und, wie im Buch gefordert, die Einstellungen übernommen um die SDL zu benutzen (bzw.http://lazyfoo.net/SDL_tutorials/lesson0…2010e/index.php ).Trotzdem kommen folgende Fehler:

1>------ Erstellen gestartet: Projekt: Attack of astroids, Konfiguration: Debug Win32 ------
1> main.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Timer.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Sprite.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Shot.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Player.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Game.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Framework.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Asteroid.cpp
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\timer.hpp(4): fatal error C1083: Datei (Include) kann nicht geöffnet werden: "SDL.h": No such file or directory
1> Code wird generiert...
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

ich benutze Microsoft Visual C++ 2010 Express.
Kann mir jemand sagen was ich falsch gemacht haben könnte?

2

03.05.2011, 16:20

Hallo,

du musst das Include-Verzeichnis der SDL in den Projekteigenschaften angeben:

Projekt -> Projekt-Eigenschaften -> VC++-Verzeichnisse -> Includeverzeichnisse. Da trägst du den Pfad zu deiner SDL.h ein.

Nicht vergessen: Die Header-Datei mit spitzen Klammern inkludieren:

C-/C++-Quelltext

1
2
#include "SDL.h" // So nicht
#include <SDL.h> // Sondern so!


Gruß
SaRu_

Des

Frischling

  • »Des« ist der Autor dieses Themas
  • Private Nachricht senden

3

03.05.2011, 17:35

also es ist schon weniger geworden aber jetz kommt:
1>------ Erstellen gestartet: Projekt: Attack of astroids, Konfiguration: Debug Win32 ------
1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___CrtDbgReportW" in Funktion ""public: class std::_List_const_iterator<class std::_List_val<class CAsteroid,class std::allocator<class CAsteroid> > > & __thiscall std::_List_const_iterator<class std::_List_val<class CAsteroid,class std::allocator<class CAsteroid> > >::operator++(void)" (??E?$_List_const_iterator@V?$_List_val@VCAsteroid@@V?$allocator@VCAsteroid@@@std@@@std@@@std@@QAEAAV01@XZ)".
1>Player.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__imp___CrtDbgReportW".
1>c:\users\user\documents\visual studio 2010\Projects\Attack of astroids\Debug\Attack of astroids.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

4

03.05.2011, 18:32

Hast du neben dem Includeverzeichnis auch das Bibliotheksverzeichnis angegeben? Also den Pfad zu den .lib-Dateien? Und dann auch nicht vergessen die SDL.dll im Projektverzeichnis abzulegen.

Gruß
SaRu_

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

5

03.05.2011, 18:47

sieht eher so aus als hätte er einen schritt vergessen oder zu viel gelöscht.
hast du bei den projekteigenschaften->C++->Codegenerierung multithreaded-dll(bzw. multithreaded-debug-dll) eingetragen und beim eintragen der zusätzlichen abhängigkeiten nicht ausversehen alle libs gelöscht?
um die zusätzlichen abhängigkeiten einzutragen solltest du immer den dialog öffnen. erstell einfach ein neues projekt und benutze den dialog.

ich empfehle dir auf die sfml umzusteigen, sobald du mit dem kapitel fertig bist.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »NachoMan« (03.05.2011, 18:56)


Des

Frischling

  • »Des« ist der Autor dieses Themas
  • Private Nachricht senden

6

03.05.2011, 19:36

so jetzt funktioniert es.danke^^

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

7

03.05.2011, 22:39

SFML ist aber auch nicht die Welt. Vor allem weil ich dort die Erfahrung gemacht habe, dass dort bei der Projekterstellung eine Probleme auftreten. Für jemanden der sich mit der Materie auskennt ist das sicherlich kein Problem. Für einen Anfänger kann das jedoch schon mal ganz anders aussehen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

8

03.05.2011, 22:47

Die Projekterstellung dauert, wenn man wirklich Probleme hat und niemand da ist, der einem hilft, höchstens 5 Stunden. Spätestens mit einem Post, hier im Forum ist die Sache gegessen. Danach hat man viel weniger Probleme und eine wirklich schöne und schnelle Library. Die Alternative wäre 15 Zusatzlibs für die sdl herunterzuladen und zu installieren. Wenn man beim Einrichten der SFML 5 Stunden brauch, brauch man dafür 20 Stunden.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Des

Frischling

  • »Des« ist der Autor dieses Themas
  • Private Nachricht senden

9

05.05.2011, 20:39

Hallo nochmal xD
wollte nicht extra ein neues Thema erstellen also mach ich es gleich hier rein, denn ich habe ein neues Problem.
Bin grad am Erweitern.Ich wollte jetzt einen Punktezähler einbauen und wenn man eine bestimmte anzahl an Punkten hat soll sich erstmal der Sprite vom Schuss ändern. Jetzt kommt aber an folgender stelle eine Fehlermeldung:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef GAME_HPP
#define GAME_HPP

#include "Player.hpp"
#include "Asteroid.hpp"

class CGame
{
    public:
        CGame ();

        void Init ();
        void Run  ();
        void Quit ();
    
    private:
        void ProcessEvents          ();
        void ProcessEventsMenu      ();
        void SpawnAsteroids         ();
        void RenderAsteroids        ();
        void CheckCollisions        ();
        CSprite *m_pSpriteMenu;
        CPlayer *m_pPlayer;             // Spieler-Instanz                          diese zeile
        CSprite *m_pSpriteBackground;   // Sprite für den Hintergrund
        CSprite *m_pSpriteAsteroid;     // Sprite für die Asteroiden
        float   m_fAsteroidTimer;   // Zeitgeber für nächsten Asteroiden
        bool    m_bGameRun;         // Läuft das Spiel noch?
        list<CAsteroid> m_AsteroidList; // Liste der Asteroiden
        bool     m_bMenuRun;
        
};

#endif


Fehlermeldung:

1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\game.hpp(23): error C2143: Syntaxfehler: Es fehlt ';' vor '*'
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\game.hpp(23): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\users\user\documents\visual studio 2010\projects\attack of astroids\attack of astroids\game.hpp(23): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.


find ich irgentwie merkwürdig und hab alles gefühlte 100 mal überprüft...
wenn ich noch mehr abschitte posten soll einfach sagen^^

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Des« (06.05.2011, 14:41)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

10

05.05.2011, 20:43

Du musst CPlayer über der Klassendefinition deklarieren.

C-/C++-Quelltext

1
class CPlayer;
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Werbeanzeige