<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[... undefined reference to ...]]></title><description><![CDATA[<p>Hallo,</p>
<p>da ich per FAQ und Suche nichts gefunden habe das mir weiterhilft muß ich euch mit meinem Anfängerproblem um Rat bitten.<br />
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 &quot;... undefined reference to ...&quot; Meldungen aus (obwohl ich alles per #include &quot;xxxx.h&quot; inkludiert habe):</p>
<pre><code>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.
</code></pre>
<p>Da es anscheinend besonders viele Fehler in MyList.cpp gibt hier auch noch der Code dieser Datei:</p>
<pre><code class="language-cpp">#include &quot;MyList.h&quot;
#include &quot;ListElement.h&quot;
//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 = &amp;(*newFirst);

			//Zeiger umbiegen
			first-&gt;setPrevious(first);
			first-&gt;setNext(first);

			//Daten setzen
			first-&gt;setData(data);
		}

		// falls bereits Elemente vorhanden sind
		else {
			//bisheriges firstElement speichern
			ListElement *tmp = &amp;(*first);

			// neues firstElement erstellen
			first = new ListElement();

			// Zeiger umbiegen	
			first-&gt;setNext(tmp);
			first-&gt;setPrevious(tmp-&gt;getPrevious());
			tmp-&gt;setPrevious(first);

			//in first Daten einfuegen
			first-&gt;setData(data);
		}		
	}

	ListElement&amp; MyList::pop_back(){

	}

	ListElement&amp; MyList::pop_front(){

	}

	void MyList::insert(int pos, int ele){

	}

	ListElement&amp; MyList::del(int pos){

	}
</code></pre>
<p>und ListElement.cpp noch:</p>
<pre><code class="language-cpp">#include &quot;ListElement.h&quot;

// +++++++++++++    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;	
	}
</code></pre>
<p>Schonmal vielen Dank für Eure hilfe! Und nicht böse sein wenn ich mit dem falschen Schlüsselwort die Suche betätigt habe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Bei Bedarf kann ich auch noch die Header-Dateien posten.</p>
<p>Viele Grüße Zotteljeti</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168110/undefined-reference-to</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 22:35:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168110.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Dec 2006 18:46:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ... undefined reference to ... on Mon, 18 Dec 2006 18:46:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>da ich per FAQ und Suche nichts gefunden habe das mir weiterhilft muß ich euch mit meinem Anfängerproblem um Rat bitten.<br />
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 &quot;... undefined reference to ...&quot; Meldungen aus (obwohl ich alles per #include &quot;xxxx.h&quot; inkludiert habe):</p>
<pre><code>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.
</code></pre>
<p>Da es anscheinend besonders viele Fehler in MyList.cpp gibt hier auch noch der Code dieser Datei:</p>
<pre><code class="language-cpp">#include &quot;MyList.h&quot;
#include &quot;ListElement.h&quot;
//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 = &amp;(*newFirst);

			//Zeiger umbiegen
			first-&gt;setPrevious(first);
			first-&gt;setNext(first);

			//Daten setzen
			first-&gt;setData(data);
		}

		// falls bereits Elemente vorhanden sind
		else {
			//bisheriges firstElement speichern
			ListElement *tmp = &amp;(*first);

			// neues firstElement erstellen
			first = new ListElement();

			// Zeiger umbiegen	
			first-&gt;setNext(tmp);
			first-&gt;setPrevious(tmp-&gt;getPrevious());
			tmp-&gt;setPrevious(first);

			//in first Daten einfuegen
			first-&gt;setData(data);
		}		
	}

	ListElement&amp; MyList::pop_back(){

	}

	ListElement&amp; MyList::pop_front(){

	}

	void MyList::insert(int pos, int ele){

	}

	ListElement&amp; MyList::del(int pos){

	}
</code></pre>
<p>und ListElement.cpp noch:</p>
<pre><code class="language-cpp">#include &quot;ListElement.h&quot;

// +++++++++++++    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;	
	}
</code></pre>
<p>Schonmal vielen Dank für Eure hilfe! Und nicht böse sein wenn ich mit dem falschen Schlüsselwort die Suche betätigt habe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Bei Bedarf kann ich auch noch die Header-Dateien posten.</p>
<p>Viele Grüße Zotteljeti</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1194208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1194208</guid><dc:creator><![CDATA[Zotteljeti]]></dc:creator><pubDate>Mon, 18 Dec 2006 18:46:01 GMT</pubDate></item><item><title><![CDATA[Reply to ... undefined reference to ... on Mon, 18 Dec 2006 18:55:32 GMT]]></title><description><![CDATA[<p>&quot;undefined reference to&quot; 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.</p>
<p>Schau mal in das Handbuch zu deinem Compiler, da dürfte sicher einiges an Information stehen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1194216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1194216</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Mon, 18 Dec 2006 18:55:32 GMT</pubDate></item></channel></rss>