Problem mit SDL Listen "nicht aufgelöste externe Verweise"
-
Hi,
Ich hab eine Problem mit SDL Listen. Ich bekomme eine Fehlermeldung die ich einfach nicht weg bekomme egal was ich versuche.. Ich weiß nur das der Fehler irgendwie mit den Listen zusammenhängt die ich in diesem Codesegemnt benutze:
void CGame::AreaAbfragen () { list<CAreaScanning>::iterator iter_Area; //Abrage ob grade gesprungen wird if (m_Player.StatusRueckgabe() != 3) { //Wenn nein Schleifenabfrage nach Boden oder Fallen beginnen for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++iter_Area ) { //Abfrage nach Boden if (iter_Area->Abfrage_Oben(m_Player) == true) { //Wenn boden gefunden wurde Boden kontakt bestätigen und Schleife sofort bennden m_bContact = true; break; } //Wenn kein Boden gefunden wurde dann fällt der Spieler else { m_bContact = false; } } } //Abfrage ob Spung an ist else if (m_Player.StatusRueckgabe() == 3) { //Wenn ja SChleife durchlaufen die nach Kontakt mit Objekt über Spieler sucht for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { iter_Area->Abfrage_Unten(m_Player); } //Kein BOdenkontakt m_bContact = false; } //Abfrage ob Sprung "nicht" an ist if(m_Player.StatusRueckgabe() != 3) { //Wenn ja -> Abfrage ob Bodenkontakt da ist oder nicht if (m_bContact == true) { //Boden wurde gefunden also Laufen an m_Player.StatusAnpassen(1); } else { //kein Boden wurde gefunden also Fallen an m_Player.StatusAnpassen(2); } } //Abfrage ob grade eine BEwegung nach Links geamcht wird if (m_Player.MoveDirectionRueckgabe() == 1) { //Wenn ja Abfrage ob nicht Links irgendwo eine Kollison mit einem Objekt ist for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { iter_Area->Abfrage_Links(m_Player); } } //Abfrage ob grade eine BEwegung nach Rechts geamcht wird if (m_Player.MoveDirectionRueckgabe() == 2) { for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { //Wenn ja Abfrage ob nicht Rechts irgendwo eine Kollison mit einem Objekt ist iter_Area->Abfrage_Rechts(m_Player); } } }#ifndef Game_HPP #define Game_HPP #include <list> #include "framework.h" #include "Player.h" #include "Enemy.h" #include "Level.h" #include "AreaScanning.h" #include "Backgroundmap.h" class CGame { public: CGame(); //Hauptfunktionen des Spiels void Run (); void Exit (); //Unterfunktionen von Run void Testlevel(); //Funktionen für Level void AreaAbfragen (); private: //Instanzen CPlayer m_Player; //Für Spieler CBackgroundmap *m_Backgroundmap; //Listen list<CEnemy> m_EnemyList; //Liste für Gegner list<CAreaScanning> m_lArea; //Liste für Gegner //Variablen bool m_bContact; //Speichert ob Spielerbodenkontakt hat bool m_bListe; //Speichert ob Liste schon gefüllt wurde.. }; #endifDie Fehlermeldung ist:
1>------ Erstellen gestartet: Projekt: Super_Engine_01, Konfiguration: Debug Win32 ------ 1>Kompilieren... 1>Game.cpp 1>Kompilieren... 1>main.cpp 1>Verknüpfen... 1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___CrtDbgReportW" in Funktion ""public: class std::list<class CAreaScanning,class std::allocator<class CAreaScanning> >::_Const_iterator<1> & __thiscall std::list<class CAreaScanning,class std::allocator<class CAreaScanning> >::_Const_iterator<1>::operator++(void)" (??E?$_Const_iterator@$00@?$list@VCAreaScanning@@V?$allocator@VCAreaScanning@@@std@@@std@@QAEAAV012@XZ)". 1>.\Debug/Super_Engine_01.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise. 1>Das Buildprotokoll wurde unter "file://c:\Program Files\Super Mario Engine\Super_Engine_11\Debug\BuildLog.htm" gespeichert. 1>Super_Engine_01 - 2 Fehler, 0 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Ohne die verwendung der Listen funktioniert das Programm, es muss also irgendwie damit zusammenhängen..
-
Ich hab jetzt die Laufzeitbilblothek verändert auf "Multithreaded-Debug-DLL (/MDd)"
Damit bekomme ich jetzt eine andere Fehlermeldung:
1>------ Erstellen gestartet: Projekt: Super_Engine_01, Konfiguration: Debug Win32 ------ 1>Das Manifest wird eingebettet... 1>mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\Super_Engine_01.exe.embed.manifest". The parameter is incorrect. 1>Das Buildprotokoll wurde unter "file://c:\Program Files\Super Mario Engine\Super_Engine_11\Debug\BuildLog.htm" gespeichert. 1>Super_Engine_01 - 1 Fehler, 0 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Kann mir da evtl jemand helfen?