<?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[Linker Frage zu gleichnamigen Klassen in zwei libs]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen ich habe zwei statische Bibliotheken LibA und LibB, die beide eine Klasse Test mit der Methode test enthalten (identische Signaturen). Wie wird in folgendem Code dann festgestellt, welche Klasse instanziiert wird?</p>
<pre><code class="language-cpp">#include &quot;LibA/test.h&quot;
#include &quot;LibB/test.h&quot;

int main()
{
   Test t;
   t.test();
}
</code></pre>
<p>Ich bin der Meinung, dass der Linker willkürlich den ersten Treffer benutzt, den er findet, was z.B. von der Einstellung der Linkerpfade abhängen kann<br />
Oder liege ich da völlig falsch und es gibt eine Regelung für diese Situation?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/262853/linker-frage-zu-gleichnamigen-klassen-in-zwei-libs</link><generator>RSS for Node</generator><lastBuildDate>Sun, 06 Sep 2026 08:37:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/262853.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Mar 2010 12:36:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 12:36:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen ich habe zwei statische Bibliotheken LibA und LibB, die beide eine Klasse Test mit der Methode test enthalten (identische Signaturen). Wie wird in folgendem Code dann festgestellt, welche Klasse instanziiert wird?</p>
<pre><code class="language-cpp">#include &quot;LibA/test.h&quot;
#include &quot;LibB/test.h&quot;

int main()
{
   Test t;
   t.test();
}
</code></pre>
<p>Ich bin der Meinung, dass der Linker willkürlich den ersten Treffer benutzt, den er findet, was z.B. von der Einstellung der Linkerpfade abhängen kann<br />
Oder liege ich da völlig falsch und es gibt eine Regelung für diese Situation?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867965</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 12 Mar 2010 12:36:49 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 12:47:30 GMT]]></title><description><![CDATA[<p>Das dürftest du doch noch nicht mal kompiliert kriegen (wg. doppelter Definitionen), oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867968</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 12 Mar 2010 12:47:30 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 13:04:44 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Das dürftest du doch noch nicht mal kompiliert kriegen (wg. doppelter Definitionen), oder?</p>
</blockquote>
<p>Ja das dürfte probleme geben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867974</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Fri, 12 Mar 2010 13:04:44 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 13:29:19 GMT]]></title><description><![CDATA[<p>Wurden dafür nicht namespaces erfunden? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867986</guid><dc:creator><![CDATA[peso]]></dc:creator><pubDate>Fri, 12 Mar 2010 13:29:19 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 13:30:40 GMT]]></title><description><![CDATA[<p>peso schrieb:</p>
<blockquote>
<p>Wurden dafür nicht namespaces erfunden? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Ja, aber das war nicht die Frage. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1867989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867989</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 12 Mar 2010 13:30:40 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 13:44:03 GMT]]></title><description><![CDATA[<p>Hm, sagen wir mal so, ich habe einen kleinen Disput mit Arbeitskollegen <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>In meinem Fall erstelle ich eine statische lib, die von meiner Anwendung und der Anwendung eines Arbeitskollegen benötigt wird. In dieser statischen Lib sind Klassen eines Dritten enthalten, die auch in der Anwendung des Kollegen benötigt werden. Mein Vorschlag war nun, die Quelltexte des Dritten in eine eigene Lib auszulagern, gegen die beide Anwendungen gelinkt werden =&gt; Quelltext zentral an einer Stelle.<br />
Das möchte mein Kollege aber nicht, da er im Notfall zum Debuggen in den Quelltext gucken möchte.<br />
Im Moment sieht´s also so aus, dass TestClass.cpp (Name von der Redaktion geändert) Bestandteil meiner statischen Lib und des Projektes meines Kollegen ist =&gt; Codedubletten in meiner Lib + Anwendung des Kollegen.<br />
Und ich frage mich jetzt, was der Linker denn wohl benutzt, den er läuft ohne zu murren durch.</p>
<p>Edit:<br />
Probleme gibt es wohl deswegen nicht, weil beide Header Dateien identische Include Guards benutzen. Hab´s mal mit unterschiedlichen probiert und da weigert sich der Compiler tatsächlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867992</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 12 Mar 2010 13:44:03 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 13:55:32 GMT]]></title><description><![CDATA[<blockquote>
<p>Das möchte mein Kollege aber nicht, da er im Notfall zum Debuggen in den Quelltext gucken möchte.</p>
</blockquote>
<p>Was hat A mit B zu tun. Er kann ja eine Lib mit Debuginformationen erstellen und gegen die linken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1867996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1867996</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 12 Mar 2010 13:55:32 GMT</pubDate></item><item><title><![CDATA[Reply to Linker Frage zu gleichnamigen Klassen in zwei libs on Fri, 12 Mar 2010 14:09:34 GMT]]></title><description><![CDATA[<p>Klar. Er kann sogar die Quelltexte vom SVN Server holen und das komplette lib Projekt in seine Projektgruppe aufnehmen. Er sträubt sich halt nur mit Händen und Füßen gegen die &quot;Wegnahme&quot; seiner Quelltextdateien.</p>
<p>Kollege schrieb:</p>
<blockquote>
<p>&quot;Das haben wir früher so gemacht, da gab´s nur Probleme. Seit wir Quelltexte austauschen klappt alles viel besser.&quot;</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1868006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1868006</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 12 Mar 2010 14:09:34 GMT</pubDate></item></channel></rss>