<?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[Seltsames Compiler&#x2F;Linker Problem]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem. Ich habe eine Header-Datei (sequence.h), in der einige Klassen definiert werden, und eine dazugehörige CPP-Datei (sequence.cpp), in der die Definition von drei Funktionen der Klassen erfolgt. Nun habe ich noch eine weitere CPP-Datei, die etwas mit den Klassen herumspielt, um sie zu testen (test.cpp). Zum Kompilieren verwende ich (unter Linux) einfach den Befehl</p>
<pre><code>g++ sequence.cpp test.cpp
</code></pre>
<p>Ist doch eigentlich alles richtig? Trotzdem beschwert sich der Linker, er könne einige Definitionen (genau die, die in sequence.cpp liegen) nicht finden. Hier mal der Quelltext der drei Dateien:</p>
<p><a href="http://home.arcor.de/phate_tg/sequence.h" rel="nofollow">http://home.arcor.de/phate_tg/sequence.h</a><br />
<a href="http://home.arcor.de/phate_tg/sequence.cpp" rel="nofollow">http://home.arcor.de/phate_tg/sequence.cpp</a><br />
<a href="http://home.arcor.de/phate_tg/test.cpp" rel="nofollow">http://home.arcor.de/phate_tg/test.cpp</a></p>
<pre><code>test.cpp:(.text+0xb6): undefined reference to `ISequenceReader&lt;float&gt;::operator[](unsigned int)'
</code></pre>
<p>Vielen Dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205563/seltsames-compiler-linker-problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 03:03:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205563.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Feb 2008 15:35:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsames Compiler&#x2F;Linker Problem on Fri, 15 Feb 2008 15:38:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem. Ich habe eine Header-Datei (sequence.h), in der einige Klassen definiert werden, und eine dazugehörige CPP-Datei (sequence.cpp), in der die Definition von drei Funktionen der Klassen erfolgt. Nun habe ich noch eine weitere CPP-Datei, die etwas mit den Klassen herumspielt, um sie zu testen (test.cpp). Zum Kompilieren verwende ich (unter Linux) einfach den Befehl</p>
<pre><code>g++ sequence.cpp test.cpp
</code></pre>
<p>Ist doch eigentlich alles richtig? Trotzdem beschwert sich der Linker, er könne einige Definitionen (genau die, die in sequence.cpp liegen) nicht finden. Hier mal der Quelltext der drei Dateien:</p>
<p><a href="http://home.arcor.de/phate_tg/sequence.h" rel="nofollow">http://home.arcor.de/phate_tg/sequence.h</a><br />
<a href="http://home.arcor.de/phate_tg/sequence.cpp" rel="nofollow">http://home.arcor.de/phate_tg/sequence.cpp</a><br />
<a href="http://home.arcor.de/phate_tg/test.cpp" rel="nofollow">http://home.arcor.de/phate_tg/test.cpp</a></p>
<pre><code>test.cpp:(.text+0xb6): undefined reference to `ISequenceReader&lt;float&gt;::operator[](unsigned int)'
</code></pre>
<p>Vielen Dank im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1456601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1456601</guid><dc:creator><![CDATA[the*V*oid]]></dc:creator><pubDate>Fri, 15 Feb 2008 15:38:36 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Compiler&#x2F;Linker Problem on Fri, 15 Feb 2008 15:46:13 GMT]]></title><description><![CDATA[<p>Das ist ein Template - Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Der Compiler, der sequence.cpp compiliert weiß nicht dass er ISequenceReader&lt;flaot&gt; braucht und erstellt es daher nicht und in test.cpp hat der compiler keine Möglichkeit ISequenceReader&lt;float&gt; zu erstellen.</p>
<p>Da gibt's mehrere Lösungswege:</p>
<ol>
<li>Du gibst alles aus sequence.cpp auch in die .hpp als inline klassenfunktionen</li>
<li>Du verwendest export und einen Compiler der das kann (g++ kanns nicht)</li>
<li>Du sagst dem Compiler in sequence.cpp explizit dass du die Version für float gerne hättest</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1456611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1456611</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Fri, 15 Feb 2008 15:46:13 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Compiler&#x2F;Linker Problem on Fri, 15 Feb 2008 15:51:38 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort! Also Lösung 1 scheint mir ja noch am flexibelsten zu sein. Aber mal eine Frage, angenommen ich verwende nicht g++, wie sähe denn die Lösung mit &quot;export&quot; aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1456622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1456622</guid><dc:creator><![CDATA[the*V*oid]]></dc:creator><pubDate>Fri, 15 Feb 2008 15:51:38 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsames Compiler&#x2F;Linker Problem on Sat, 16 Feb 2008 13:30:47 GMT]]></title><description><![CDATA[<p>In diesem Fall musst du den Comeau Compiler verwenden (IMO macht's auch ein neuer Borland Compiler) und einfach im Header vor das template ein export schreiben.</p>
<p>Ist aber nur von /<em>sehr</em>/ begrenztem Nutzen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>EDIT://<br />
Und ich kann für nichts garantieren, ich Verwende primär G++ und sekundär MS VC8 und die können beide kein export</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1457098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1457098</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Sat, 16 Feb 2008 13:30:47 GMT</pubDate></item></channel></rss>