... undefined reference to ...
-
Hallo,
da ich per FAQ und Suche nichts gefunden habe das mir weiterhilft muß ich euch mit meinem Anfängerproblem um Rat bitten.
C++ ist für mich Neuland und deshalb habe ich zur übung eine verkette Liste programmiert. Allerdings will der Compiler die Sourcen nicht übersetzen sondern spuckt nur sehr viele "... undefined reference to ..." Meldungen aus (obwohl ich alles per #include "xxxx.h" inkludiert habe):make -k all g++ -o Test Test.cpp /tmp/ccSrchUX.o: In function `main':Test.cpp:(.text+0x23): undefined reference to `MyList::MyList()' :Test.cpp:(.text+0x36): undefined reference to `MyList::pushFront(int)' collect2: ld gab 1 als Ende-Status zurück make: *** [Test] Fehler 1 g++ -o MyList MyList.cpp /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/crt1.o: In function `_start':../sysdeps/i386/elf/start.S:115: undefined reference to `main' /tmp/ccvThxUG.o: In function `MyList::pushFront(int)':MyList.cpp:(.text+0x78): undefined reference to `ListElement::ListElement(int, ListElement*, ListElement*)' :MyList.cpp:(.text+0x9c): undefined reference to `ListElement::setPrevious(ListElement*)' :MyList.cpp:(.text+0xb2): undefined reference to `ListElement::setNext(ListElement*)' :MyList.cpp:(.text+0xc6): undefined reference to `ListElement::setData(int)' :MyList.cpp:(.text+0x124): undefined reference to `ListElement::ListElement(int, ListElement*, ListElement*)' :MyList.cpp:(.text+0x140): undefined reference to `ListElement::setNext(ListElement*)' :MyList.cpp:(.text+0x14b): undefined reference to `ListElement::getPrevious()' :MyList.cpp:(.text+0x15e): undefined reference to `ListElement::setPrevious(ListElement*)' :MyList.cpp:(.text+0x172): undefined reference to `ListElement::setPrevious(ListElement*)' :MyList.cpp:(.text+0x186): undefined reference to `ListElement::setData(int)' collect2: ld gab 1 als Ende-Status zurück make: *** [MyList] Fehler 1 g++ -o ListElement ListElement.cpp /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../lib/crt1.o: In function `_start':../sysdeps/i386/elf/start.S:115: undefined reference to `main' collect2: ld gab 1 als Ende-Status zurück make: *** [ListElement] Fehler 1 make: Das Target »all« wurde wegen Fehlern nicht aktualisiert.Da es anscheinend besonders viele Fehler in MyList.cpp gibt hier auch noch der Code dieser Datei:
#include "MyList.h" #include "ListElement.h" //using namespace std; // +++++++++++++ Konstruktoren ++++++++++++++ MyList::MyList(){ size = 0; first = 0; } // +++++++++++++++ Methoden +++++++++++++++++ void MyList::pushBack(int newLast){ } void MyList::pushFront(int data){ //falls Liste leer ist if (first == 0) { //neues Element erstellen ListElement *newFirst = new ListElement(); first = &(*newFirst); //Zeiger umbiegen first->setPrevious(first); first->setNext(first); //Daten setzen first->setData(data); } // falls bereits Elemente vorhanden sind else { //bisheriges firstElement speichern ListElement *tmp = &(*first); // neues firstElement erstellen first = new ListElement(); // Zeiger umbiegen first->setNext(tmp); first->setPrevious(tmp->getPrevious()); tmp->setPrevious(first); //in first Daten einfuegen first->setData(data); } } ListElement& MyList::pop_back(){ } ListElement& MyList::pop_front(){ } void MyList::insert(int pos, int ele){ } ListElement& MyList::del(int pos){ }und ListElement.cpp noch:
#include "ListElement.h" // +++++++++++++ Konstruktor ++++++++++++++ ListElement::ListElement(int dat, ListElement *prev, ListElement *nex){ previous = prev; next = nex; data = dat; } // +++++++++++++++ Methoden +++++++++++++++++ ListElement* ListElement::getPrevious(){ return previous; } ListElement* ListElement::setPrevious(ListElement *newPrev){ ListElement *tmp = previous; previous = newPrev; return tmp; } ListElement* ListElement::getNext(){ return next; } ListElement* ListElement::setNext(ListElement *newNext){ ListElement *tmp = next; next = newNext; return tmp; } int ListElement::getData(){ return data; } void ListElement::setData(int w){ data = w; }Schonmal vielen Dank für Eure hilfe! Und nicht böse sein wenn ich mit dem falschen Schlüsselwort die Suche betätigt habe

Bei Bedarf kann ich auch noch die Header-Dateien posten.Viele Grüße Zotteljeti
-
"undefined reference to" bedeutet, dass der Compiler den Quellcode zu einem Symbol (zB Funktion, Variable) nicht finden kann, die du im Code benutzt. Sprich du hast den Code nicht richtig gelinkt.
Schau mal in das Handbuch zu deinem Compiler, da dürfte sicher einiges an Information stehen...