Frage:
C++ Linker Error-Game Fehler?
¬_¬ Marcel
2009-06-13 13:27:46 UTC
Hey Community,

Ich bräuchte ein bisschen Hilfe beim Programmieren meines selbstgemachten Spieles.

Erstmal:Ich habe mehrere Quellencodeabschnitte, in denenen verschiedene Spieleklassen definiert sind.

Hier ist mal der Compilerlog:

1>------ Erstellen gestartet: Projekt: Darkshadow, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in einer der nächsten Versionen entfernt.
1>MainMenu.cpp
1>Verknüpfen...
1>MainMenu.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::setGameState(class std::basic_string,class std::allocator > const &,void *)" (?setGameState@Game@dus@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z)".
1>Credits.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::setGameState(class std::basic_string,class std::allocator > const &,void *)" (?setGameState@Game@dus@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z)" in Funktion ""public: virtual void __thiscall CCredits::update(float)" (?update@CCredits@@UAEXM@Z)".
1>Darkshadow.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::setGameState(class std::basic_string,class std::allocator > const &,void *)" (?setGameState@Game@dus@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z)".
1>Help.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::setGameState(class std::basic_string,class std::allocator > const &,void *)" (?setGameState@Game@dus@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z)".
1>Intro.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::setGameState(class std::basic_string,class std::allocator > const &,void *)" (?setGameState@Game@dus@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z)".
1>Darkshadow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: virtual __thiscall dus::Game::~Game(void)" (??1Game@dus@@UAE@XZ)" in Funktion "__unwindfunclet$??0CDarkShadow@@QAE@XZ$0".
1>Darkshadow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall dus::Game::Game(bool,float)" (??0Game@dus@@QAE@_NM@Z)" in Funktion ""public: __thiscall CDarkShadow::CDarkShadow(void)" (??0CDarkShadow@@QAE@XZ)".
1>Darkshadow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::run(void)" (?run@Game@dus@@QAEXXZ)" in Funktion "_WinMain@16".
1>Darkshadow.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::registerGameState(class dus::GameState *)" (?registerGameState@Game@dus@@QAEXPAVGameState@2@@Z)" in Funktion "_WinMain@16".
1>MainMenu.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall dus::Game::quit(void)" (?quit@Game@dus@@QAEXXZ)" in Funktion ""public: virtual void __thiscall CMainMenu::update(float)" (?update@CMainMenu@@UAEXM@Z)".
1>Debug/../Darkshadow.exe : fatal error LNK1120: 6 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://m:\C-C++-C#\DUS\Framework\Darkshadow\Debug\BuildLog.htm" gespeichert.
1>Darkshadow - 11 Fehler, 1 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Laut des Fehlers wurde der Verweis nicht ausgelöst.
Irgendwie interpretiert der Compiler den C++ Code nur als C Code.
Und deseegen hat er auch dasProblem beim Interpretieren.

Ich hoffe das ich ein bisschen Hilfe bekomme.
mfg~
Drei antworten:
tquadrat_org
2009-06-16 08:35:26 UTC
Keine Fehleranalyse ohne Quellcode ...



Also ich bräuchte schon etwas mehr Input, um zu Deinem Problem etwas konkrete(re)s sagen zu können.
Arrows
2009-06-14 12:55:06 UTC
Alle libs gelinkt?
Nieli
2009-06-13 21:10:44 UTC
Schau mal, ob du die Quelldateien in der richtigen Reihenfolge angegeben hast.


Dieser Inhalt wurde ursprünglich auf Y! Answers veröffentlicht, einer Q&A-Website, die 2021 eingestellt wurde.
Loading...