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

1

09.08.2009, 15:20

Probleme mit dem SDL_Game

Hallo Community!

Ich denke mir das dieses Thema schon oft angeschnitten
wurde und ich hab mich auch bemüht etwas zu finden.
Doch leider funktionieren lösungen bei mir nicht,oder ich finde threads
wo man den fragenden einfach auf seiner frage sitzen lässt.
nun, ich habe auch ein (oder auch mehrere ) problem/e.

1.
C:\C++\SDL_Game\main.cpp|11|undefined reference to `CGame::CGame()'|

das is einer von mehreren fehlern dieser art.
ich weiß, das hat was mit dem linker zutun.nur habe ich leider keinen
blassen schimmer wie ich das
ändern könnte bitte um hilfe com.

2.
Anwendung konnte nicht gestartet werden, da msvcrtd.dll nicht gefunden
wurde.neuinstallation könnte das problem beheben.

wohlgemerkt, ich starte das programm von der CD aus.
hab mir die dll nachher gezogen und es funzt alles, aber wie kommt
sowas den?im buch wurde dies ja garnicht erwähnt...



nja ich hoffe ihr habt verständnis für einen
fragenden neuling und helft mir

mfg Ancient

2

09.08.2009, 15:31

Vorweg: Ich besitze das Buch nicht.

1.
C:\C++\SDL_Game\main.cpp|11|undefined reference to CGame::CGame()'

Hast du die Implementierung (idR. in der .cpp) der Klasse CGame::CGame() deinem Projekt hinzugefügt?

2.
msvcrtd.dll = Microsoft Visual C++ Runtime (Debug-Build)
Vermutlich befindet sich die DLL auf der CD nicht im selben Verzeichnis wie die Exe.
fka tm

3

09.08.2009, 15:38

Zitat von »"TrikkieMikkie"«

Vorweg: Ich besitze das Buch nicht.

1.
C:\C++\SDL_Game\main.cpp|11|undefined reference to CGame::CGame()'

Hast du die Implementierung (idR. in der .cpp) der Klasse CGame::CGame() deinem Projekt hinzugefügt?

2.
msvcrtd.dll = Microsoft Visual C++ Runtime (Debug-Build)
Vermutlich befindet sich die DLL auf der CD nicht im selben Verzeichnis wie die Exe.


1. Ich versteh imo nich wirklich was du damit meinst:
muss ich jede header-datei einzeln dem projekt zufügen?

2.du verstehst mich falsch ;)
die nachricht taucht auf wenn ich es von der cd starte,
von der platte krieg ich es noch nicht einmal kompiliert....


mfg Ancient

4

09.08.2009, 15:43

2. Was gibts daran falsch zu verstehen?
Ist die DLL im selben Verzeichnis wie die Exe?

1. Wie gehst du vor?
Projekt von der CD auf die HD kopieren?

Oder fängst du ein neues Projekt an und fügst die Dateien hinzu?
fka tm

5

09.08.2009, 15:54

Zitat von »"TrikkieMikkie"«

2. Was gibts daran falsch zu verstehen?
Ist die DLL im selben Verzeichnis wie die Exe?

1. Wie gehst du vor?
Projekt von der CD auf die HD kopieren?

Oder fängst du ein neues Projekt an und fügst die Dateien hinzu?


jo ich ziehe die dateien von der cd (die ja eig fertig und funktionsfähig sein
sollten) in den projekt-ordner und füge die in der IDE (C::B) dem projekt zu.

die dll hab ich angesprochen, da falls man die exe von der cd startet ,
diese meldung kommt. das hat mich gewundert, schließlich sollte die
version auf der cd ja eig fix u fertig sein...

6

09.08.2009, 16:32

Hast du in main.cpp die entsprechenden Header für die Verwendung von CGame::CGame eingebunden?

Ansonsten würde ich mich von main.cpp ausgehend mal durch das Projekt hangeln.
(in MSVC geht das schön mit IntelliSense...)
fka tm

7

09.08.2009, 16:40


(Link)
die header-dateien sind alle drin (siehe bild) und nach den dateien habe ich natürlich schon geschaut.
die datei Game.hpp is ja eingebunden code-technisch.ich hab ja alles
übernommen wie der autor es gemacht hat aber das will nicht so wie ich will...




mfg Ancient

8

09.08.2009, 16:47

Diese Frage hast du noch nicht beantwortet: ;)

Hast du in main.cpp die entsprechenden Header für die Verwendung von CGame::CGame eingebunden?
fka tm

9

09.08.2009, 17:08

Zitat von »"TrikkieMikkie"«

Diese Frage hast du noch nicht beantwortet: ;)

Hast du in main.cpp die entsprechenden Header für die Verwendung von CGame::CGame eingebunden?


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
#include "Framework.hpp"
#include "Game.hpp"

int main (int argc, char *argv[])
{
  // Framework initialisieren

  if (g_pFramework->Init (800, 600, 16, true) == false)
    return (0);
  
  // Neue Instanz des Spiels

   CGame Game;

  // Spiel initialisieren

  Game.Init ();

  // Spiel laufen lassen. Diese Funktion läuft so lange,

  // bis das Spiel geschlossen oder die Escape-Taste

  // gedrückt wird

  Game.Run ();

  // Spiel beenden

  Game.Quit ();

  // Framework beenden

  g_pFramework->Quit ();
  g_pFramework->Del ();

  return (0);

}


reicht dir das als antwort?
:D :D

10

09.08.2009, 17:53

Jou! ;)

Zeig mal Game.hpp und Game.cpp

Wenn die zu groß sind, lieber hier posten.
fka tm

Werbeanzeige