Fehler LKN2019 und LKN1120



  • Guten Tag Community,
    ich habe mal eine Frage zu einem Fehler Code. Ich habe angefangen ein eigenes Spiel mit C++ zu schreiben. Nun bekomme ich aber eine Fehlermeldung, die ich nich verstehe. Vieleicht könnte mir einer helfen. Falls ihr den Code braucht einfach sagen.

    Fehler 2 error LNK1120: 1 nicht aufgelöste Externe

    Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall Enemy::~Enemy(void)" (??1Enemy@@QAE@XZ)" in Funktion ""public: void * __thiscall Enemy::`scalar deleting destructor'(unsigned int)" (??_GEnemy@@QAEPAXI@Z)".

    Das Spiel ist mit Hilfe von SFM(2.2) geschrieben.
    Danke schon mal im Voraus. 😋


  • Mod

    Das bedeutet, dass du irgendwo deklariert hast, dass du einen selbst geschriebenen Destruktor für eine gewisse Klasse namens "Enemy" zur Verfügung stellen würdest ( Enemy::~Enemy() ). Nun wurde überall Code erzeugt, der diesen Destruktor erwartet. Doch als der Linker die verschiedenen Funktionen zu einem ausführbaren Programm zusammensetzen wollte, fehlte diese Funktion. Folgerung: Entweder hast du sie nirgendwo geschrieben oder in irgendeiner Datei, die du für den Übersetzungsvorgang nicht angegeben hast.

    Und noch ein Verdacht: "Enemy" klingt nicht gerade nach einer Klasse, die einen selbst definierten Destruktor bräuchte. Ist dies vielleicht so ein Fall von "ich habe ein schlechtes Lehrbuch, wo einfach jede Klasse immer einen Destruktor bekommt, weil der Autor selber nicht weiß, wozu die wirklich gut sind"?


Log in to reply