<?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[Linkerproblem ...]]></title><description><![CDATA[<p>Tach</p>
<p>Ich habe mir eine kleine Lib geschrieben welche ich nun mit einem Testprogramm auf Funktion überprüfen wollte. Das Testprojekt liegt im selben Verzeichnis, wie das Lib-Projekt ... wenn ich die Header -u. Source-Files der Lib dem Testprojekt hinzufüge, bekomm ich schon ne &quot;undefined reference&quot; Meldung ... genauso auch wenn ich die Lib zum Testprojekt linke. Ich hab kein Plan, woran das liegen könnte ... achja Compiler ist der mingw.</p>
<p>Lässt sich so wahrscheinlich nich viel zu sagen, deshalb hab ich mal den entsprechenden Ordner zum <a href="http://files.syn-com.de/lib.7z" rel="nofollow">Download</a>.</p>
<p>MfG &amp;&amp; thx</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149748/linkerproblem</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 08:47:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149748.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jun 2006 22:22:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linkerproblem ... on Thu, 08 Jun 2006 22:22:15 GMT]]></title><description><![CDATA[<p>Tach</p>
<p>Ich habe mir eine kleine Lib geschrieben welche ich nun mit einem Testprogramm auf Funktion überprüfen wollte. Das Testprojekt liegt im selben Verzeichnis, wie das Lib-Projekt ... wenn ich die Header -u. Source-Files der Lib dem Testprojekt hinzufüge, bekomm ich schon ne &quot;undefined reference&quot; Meldung ... genauso auch wenn ich die Lib zum Testprojekt linke. Ich hab kein Plan, woran das liegen könnte ... achja Compiler ist der mingw.</p>
<p>Lässt sich so wahrscheinlich nich viel zu sagen, deshalb hab ich mal den entsprechenden Ordner zum <a href="http://files.syn-com.de/lib.7z" rel="nofollow">Download</a>.</p>
<p>MfG &amp;&amp; thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074241</guid><dc:creator><![CDATA[kaptain karacho]]></dc:creator><pubDate>Thu, 08 Jun 2006 22:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 09:40:28 GMT]]></title><description><![CDATA[<p>kaptain karacho schrieb:</p>
<blockquote>
<p>Tach</p>
<p>Ich habe mir eine kleine Lib geschrieben welche ich nun mit einem Testprogramm auf Funktion überprüfen wollte. Das Testprojekt liegt im selben Verzeichnis, wie das Lib-Projekt ... wenn ich die Header -u. Source-Files der Lib dem Testprojekt hinzufüge, bekomm ich schon ne &quot;undefined reference&quot; Meldung ... genauso auch wenn ich die Lib zum Testprojekt linke. Ich hab kein Plan, woran das liegen könnte ... achja Compiler ist der mingw.</p>
<p>Lässt sich so wahrscheinlich nich viel zu sagen, deshalb hab ich mal den entsprechenden Ordner zum <a href="http://files.syn-com.de/lib.7z" rel="nofollow">Download</a>.</p>
</blockquote>
<p>Ich habe nicht den Hauch einer Ahnung, was ein 7z File ist und mein Computer auch nicht. Ich plane jetzt auch keine größere Google-Suche oder die Installation irgendwelcher Software deswegen.</p>
<p>undefined reference heißt, dass er die Funktionen, die Du benutzt möchtest nicht in kompiliertem Zustand vorfindest. Entweder fehlen sie (Lib nicht eingebunden; deklarierte, aber undefinierte Funktionen).<br />
Das heißt, dass Du die Lib dem Linker (bzw. dem Compiler) nennen musst, damit er die Funktionen dort findet.</p>
<p>Good Luck.</p>
<p>Ansonsten wäre es schön, wenn Du Deine Fehler entsprechend so aufarbeiten und präsentieren würdest, dass ich das nicht mehr tun muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074415</guid><dc:creator><![CDATA[Xin]]></dc:creator><pubDate>Fri, 09 Jun 2006 09:40:28 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 10:50:52 GMT]]></title><description><![CDATA[<p>Tach ...</p>
<p>7z ist die extension des 7Zip - Formats, dachte das hat sich mittlerweile schon stark verbreitet.</p>
<p>Ansonsten ist mir schon klar, was &quot;undefined reference&quot; bedeutet, nur eben nicht, wie das hier passieren kann. Wie ich schon sagte, packe ich alle Dateien der Lib nochmal in mein Testprojekt, wird ja alles gemeinsam kompiliert und dann entsprechenden gelinkt. Trotzdem tritt der Fehler auf. Gleiches auch, wenn ich in meinem Testprojekt nur die paar Testfälle habe (ohne dass ich irgendwelche Dateien der Lib dem Projekt hinzufüge) und dann gegen eine fertig kompilierte Lib linke.</p>
<p>Der Fehler ist immer der selbem, sobald ich eine Funktion / Methode der Lib aufrufe &gt; undefined reference</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074481</guid><dc:creator><![CDATA[kaptain karacho]]></dc:creator><pubDate>Fri, 09 Jun 2006 10:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 10:53:17 GMT]]></title><description><![CDATA[<p>Nochwas ... die Installation von 7z lohnt sich schon ... man merkt einen deutlichen unterschied zu RAR und ZIP.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074485</guid><dc:creator><![CDATA[kaptain karacho]]></dc:creator><pubDate>Fri, 09 Jun 2006 10:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 10:56:02 GMT]]></title><description><![CDATA[<p>kaptain karacho schrieb:</p>
<blockquote>
<p>Nochwas ... die Installation von 7z lohnt sich schon ... man merkt einen deutlichen unterschied zu RAR und ZIP.</p>
</blockquote>
<p>...es hilft einem aber keiner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074486</guid><dc:creator><![CDATA[Xin]]></dc:creator><pubDate>Fri, 09 Jun 2006 10:56:02 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 11:02:43 GMT]]></title><description><![CDATA[<p>Tja sieht wohl so aus, als ob doch kein Mensch das Format nutz ...</p>
<p><a href="http://files.syn-com.de/lib.zip" rel="nofollow">url=files.syn-com.de/lib.zip</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074494</guid><dc:creator><![CDATA[kaptain karacho]]></dc:creator><pubDate>Fri, 09 Jun 2006 11:02:43 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 11:11:16 GMT]]></title><description><![CDATA[<p>kaptain karacho schrieb:</p>
<blockquote>
<p>Tja sieht wohl so aus, als ob doch kein Mensch das Format nutz ...</p>
<p><a href="http://files.syn-com.de/lib.zip" rel="nofollow">url=files.syn-com.de/lib.zip</a></p>
</blockquote>
<p>Lass mich raten, gepackt wurde es mit diesem 7zip? Ich kann das Inhaltsverzeichnis sehen und danach streikt zip und sagt das File ist fehlerhaft.</p>
<p>Aus dem Inhaltsverzeichnis vermute ich, dass es sich um ein Visual C++ File handeln soll?<br />
Ich habe kein VC hier, ich kann höchstens versuchen es unter GNU zu testen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074506</guid><dc:creator><![CDATA[Xin]]></dc:creator><pubDate>Fri, 09 Jun 2006 11:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 11:16:07 GMT]]></title><description><![CDATA[<p>Ähmm ja ... hatte es mit versehentlich mit BZip2 Verfahren gepackt ... jetzt mit Deflate, d.h. hinter dem Link steckt jetzt ein für dich funktionierendes Archiv.<br />
Die Projektdateien stammen von Codeblocks ... Und wie oben schon geschrieben nutz ich auch den mingw, passt also.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074515</guid><dc:creator><![CDATA[kaptain karacho]]></dc:creator><pubDate>Fri, 09 Jun 2006 11:16:07 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 11:47:54 GMT]]></title><description><![CDATA[<p>Also nochmal zurück zum Anfang...</p>
<p>kaptain karacho schrieb:</p>
<blockquote>
<p>Ich habe mir eine kleine Lib geschrieben welche ich nun mit einem Testprogramm auf Funktion überprüfen wollte. Das Testprojekt liegt im selben Verzeichnis, wie das Lib-Projekt ... wenn ich die Header -u. Source-Files der Lib dem Testprojekt hinzufüge, bekomm ich schon ne &quot;undefined reference&quot; Meldung ... genauso auch wenn ich die Lib zum Testprojekt linke. Ich hab kein Plan, woran das liegen könnte ... achja Compiler ist der mingw.</p>
</blockquote>
<p>Makefiles sind eine tolle Sache, sie verhindern, dass ich bei C++ immer gcc statt g++ schreibe und dann nicht weiß, warum nix geht... ;-&gt;</p>
<p>Du hast zwei Fehler gemacht.</p>
<p>1.) Du hast die Operatoren in Fraction zwar als friend Operatoren gekennzeichnet, wenn es sie denn gibt, aber Du hast nicht gesagt, dass es sie gibt ^^</p>
<pre><code class="language-cpp">namespace estd {

  class fraction {
      friend fraction operator + (const fraction&amp;, const fraction&amp;);

      friend std::istream&amp; operator &gt;&gt; (std::istream&amp;, const fraction&amp;);
  };

fraction operator + (const fraction&amp;, const fraction&amp;);     // Hinzufügen
std::ostream&amp; operator &lt;&lt; (std::ostream&amp;, const fraction&amp;); // Hinzufügen

};
</code></pre>
<p>2.) inline bedeutet, dass Code da eingefügt wird, wo er gebraucht wird. Also wird dafür keine Extra Funktion mehr angelegt. Du musst Funktionen im Header als inline Markieren und die Funktion dann verfügbar machen, also entgegen landläufiger Meinung die Implementation muss in einer Headerdatei stehen! Wer sie braucht, wird die Funktion sofort so wie sie ist in den Code einbauen. Steht inline Code in einer .cpp Datei wird er ignoriert, er wird an der Stelle ja grade nicht gebraucht =&gt; die Funktion, die Du in der Headerdatei beschrieben hast existiert nicht =&gt; Linkerfehler.</p>
<pre><code class="language-cpp">fraction operator + (const fraction&amp; a, const fraction&amp; b) {    // kein inline!

    return fraction(a.m_num * b.m_denom + a.m_denom * b.m_num, a.m_denom * b.m_denom);
  }

  std::ostream&amp; operator &lt;&lt; (std::ostream&amp; s, const fraction&amp; f) {  // kein inline!

    return s &lt;&lt; f.m_num &lt;&lt; &quot;/&quot; &lt;&lt; f.m_denom;
  }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1074544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074544</guid><dc:creator><![CDATA[Xin]]></dc:creator><pubDate>Fri, 09 Jun 2006 11:47:54 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerproblem ... on Fri, 09 Jun 2006 12:53:16 GMT]]></title><description><![CDATA[<p>Oh man ... ich nap, liegt ja eigentlich auf der Hand ...</p>
<p>Danke, jetzt läufts!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1074609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1074609</guid><dc:creator><![CDATA[kaptain karacho]]></dc:creator><pubDate>Fri, 09 Jun 2006 12:53:16 GMT</pubDate></item></channel></rss>