<?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[Shared Library aus mehreren Klassen]]></title><description><![CDATA[<p>Kann man mehrere Header + Sourcefiles zusammen in eine .so packen?</p>
<p>Ich habe 3 Klassen die stark voneinander abhängen. Diese möchte ich irgendwie in eine Shared Library packen. In einem Programm soll von eigentlich nur eine Klasse benutzt werden, die anderen beiden werden intern genutzt, so dass ich am liebsten nur eine library einbinden würde.<br />
Da ich bisher noch gar keine Erfahrung mitr sowas habe, würde ich mich über ein paar Tipps freuen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/288676/shared-library-aus-mehreren-klassen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 20:43:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/288676.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Jun 2011 19:49:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Shared Library aus mehreren Klassen on Mon, 20 Jun 2011 19:49:50 GMT]]></title><description><![CDATA[<p>Kann man mehrere Header + Sourcefiles zusammen in eine .so packen?</p>
<p>Ich habe 3 Klassen die stark voneinander abhängen. Diese möchte ich irgendwie in eine Shared Library packen. In einem Programm soll von eigentlich nur eine Klasse benutzt werden, die anderen beiden werden intern genutzt, so dass ich am liebsten nur eine library einbinden würde.<br />
Da ich bisher noch gar keine Erfahrung mitr sowas habe, würde ich mich über ein paar Tipps freuen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2081358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2081358</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Mon, 20 Jun 2011 19:49:50 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Library aus mehreren Klassen on Mon, 20 Jun 2011 20:10:29 GMT]]></title><description><![CDATA[<p>Tip: konkrete Fragen stellen hilft konkrete Antworten zu bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2081375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2081375</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 20 Jun 2011 20:10:29 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Library aus mehreren Klassen on Mon, 20 Jun 2011 20:13:17 GMT]]></title><description><![CDATA[<p>1. In eine .so gehören weder Header noch Sourcedateien, sondern fertiger Objektcode<br />
2. Klar, da kannst du so viel rein packen wie du lustig bist und du kannst ausgewählte Teile bei Bedarf benutzen. Ich sehe überhaupt gar nicht, wo du da irgendwelche Probleme haben könntest. Siehe auch hustbaers Beitrag. Was willst du überhaupt wissen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2081380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2081380</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 20 Jun 2011 20:13:17 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Library aus mehreren Klassen on Mon, 20 Jun 2011 20:17:04 GMT]]></title><description><![CDATA[<p>Ich versuche mich besser auszudrücken:</p>
<p>Ich habe die Klassen</p>
<pre><code class="language-cpp">// C.h
#include &quot;A.h&quot;
#include &quot;B.h&quot;

class C
{
 A irgendwas1;
 B irgendwas2;

 SchöneMethoden();
}
</code></pre>
<pre><code class="language-cpp">// C.h

class A
{
 tolle Sachen;
}
</code></pre>
<p>...</p>
<p>und zu jeder Klasse jeweils Header und Sourcefile, wie angedeutet.<br />
Nun hätte ich gerne eine Library, mit der ich die Klasse C benutzen kann ohne die Sourcefiles von A und B zur Stelle zu haben.<br />
Im Projekt möchte ich aber nur eine <a href="http://libC.so" rel="nofollow">libC.so</a> einbinden müssen, da A und B nur intern von C benutzt werden.</p>
<p>Ich hoffe das war nicht zu wirr <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2081385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2081385</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Mon, 20 Jun 2011 20:17:04 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Library aus mehreren Klassen on Mon, 20 Jun 2011 20:42:36 GMT]]></title><description><![CDATA[<p>Und? Ich kapiere immer noch nicht, wo du da überhaupt ein Problem hast. Den Sourcecode brauchst du nach dem compilieren für überhaupt nichts. Pack einfach den Objektcode von A, B und C in eine Bibliothek und nenn sie libC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2081394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2081394</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 20 Jun 2011 20:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to Shared Library aus mehreren Klassen on Mon, 20 Jun 2011 20:51:57 GMT]]></title><description><![CDATA[<p>Entweder du lieferst die Header-Files A.h und B.h mit aus. Dann kannst du A und B höchstens in einen Detail-Namespace stecken.</p>
<p>Oder du änderst C, so dass statt einer Instanz von A/B nur ein Zeiger auf A/B gespeichert wird. Dann reicht eine &quot;forward declaration&quot;, und du musst A.h und B.h nicht mit ausliefern:</p>
<pre><code class="language-cpp">class A;
class B;

class C
{
public:
    // ...

private:
    A* m_myA;
    B* m_myB;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2081402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2081402</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 20 Jun 2011 20:51:57 GMT</pubDate></item></channel></rss>