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

TigerClaw25

unregistriert

1

15.11.2013, 20:11

Link-Fehler

Hallo Zusammen,

hab wie immer Probleme mit VC 2012. Und zwar bekomme ich immer die Fehlermeldung: Fehler 2 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall CGame::CGame(void)" (??0CGame@@QAE@XZ)" in Funktion "_SDL_main". C:\Projekte\SDL-game\SDL-game\main.obj SDL-game

Meine Game.h sieht so aus:

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
#ifndef Game
#define Game

#include <iostream>
#include <SDL.h>

using namespace std;

class CGame
{
public:
    CGame();
    ~CGame();
    bool Init(const char *title, int xpos, int ypos, int width, int height, int flags);
    void Render();
    void Update();
    void HandleEvents();
    void Clean();

    // a function to access the private running variable
    bool Running() { return m_bRunning; }
private:
    SDL_Window *m_pWindow;
    SDL_Renderer *m_pRenderer;
    bool m_bRunning;
};

#endif /* defined(__Game__) */


und in meiner Game-cpp ist eben die Game.h eingebunden. Und in der main.cpp ist auch die Game.h als include eingebunden.


Hat jemand eine Idee, woran das liegen könnte?


EDIT: Hat sich erledigt. Ich hatte den Konstruktor nicht ausgeführt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TigerClaw25« (15.11.2013, 20:19)


2

15.11.2013, 20:16

Wie sieht denn deine Implementierung von CGame::CGame() aus? Existiert die überhaupt?
Lieber dumm fragen, als dumm bleiben!

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

3

15.11.2013, 20:18

Genau da liegt das Problem. Zeig uns mal die game.cpp.
„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.“

TigerClaw25

unregistriert

4

15.11.2013, 20:20

Danke, genau daran lag es!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

16.11.2013, 09:37

Das steht übrigens auch in der Fehlermeldung.
"nicht aufgelöstes externes Symbol" bedeutet, dass die Definition einer Methode, Funktion oder Variable nicht gefunden wurde, obwohl die irgendwo deklariert wurde.
"CGame::CGame(void)" ist genau der Name der Methode deren Definition nicht gefunden wurde.
Eigentlich doch einfach zu verstehen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige