Viele undefinierte Referenzen, und kein Land in Sicht
-
Bin gerade dabei, ein paar Miniklassen zu schreiben, um mich im Bereich Vererbung/Polymorphe Klassen usw weiterzubilden. Habe auch hier und da vererbt, und alles hat auch schoen kompiliert/gelinkt und wurde fehlerfrei ausgefuehrt, seitdem ich allerdings zwei neue Klassen eingefuegt habe, bekomme ich beim verlinken zu einer binary folgende Fehler:
[11:40 ][rpg]>> ./build.sh compile
compiling CCharacter.cpp...
compiling CInventory.cpp...
compiling CItem.cpp...
compiling CMonster.cpp...
compiling test.cpp...
linking binary...
CInventory.o(.text+0x88): In functionCInventory::CInventory[not-in-charge]()': : undefined reference to
CItem::~CItem [not-in-charge]()'
CInventory.o(.text+0xd8): In functionCInventory::CInventory[in-charge]()': : undefined reference to
CItem::~CItem [not-in-charge]()'
CInventory.o(.text+0x10c): In functionCInventory::~CInventory [not-in-charge]()': : undefined reference to
CItem::~CItem [in-charge]()'
CInventory.o(.text+0x114): In functionCInventory::~CInventory [not-in-charge]()': : undefined reference to
CItem::~CItem [not-in-charge]()'
CInventory.o(.text+0x128): In functionCInventory::~CInventory [not-in-charge]()': : undefined reference to
CItem::~CItem [not-in-charge]()'
CInventory.o(.text+0x15c): In functionCInventory::~CInventory [in-charge]()': : undefined reference to
CItem::~CItem [in-charge]()'
CInventory.o(.text+0x164): In functionCInventory::~CInventory [in-charge]()': : undefined reference to
CItem::~CItem [not-in-charge]()'
CInventory.o(.text+0x178): In functionCInventory::~CInventory [in-charge]()': : undefined reference to
CItem::~CItem [not-in-charge]()'
collect2: ld returned 1 exit statusDen kompletten Quellcode gibt es hier: http://lowercase.mine.nu/files/rpg.tar
CInventory erbt von CItem.
Das ganze soll mal eine aufgeblaehteKlassenhierarchie werden, die unter http://lowercase.mine.nu/files/hierarchy.png oberflaechlich beschrieben ist.
Eins hat sich schonmal herauskristalisiert: Undefinierte Referenzen kommen nur bei Instanziierung von meinen Klassen (in test.cpp), was vorher noch wunderbar geklappt hat.
-
Du hast die genannten Funktionen gar nicht implementiert. Hier ist es CItem::~CItem().
-
Ich bedanke mich rechtherzlich.
Ich frage mich gerade, wie ich das die ganze Zeit uebersehen konnte...