<?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[Klassen innerhalb einer DLL nutzen - aber ohne Export =)]]></title><description><![CDATA[<p>Hallo,</p>
<p>es wird Zeit das Forum mit meinem ersten Problem zu beglücken^^. Also ich möchte folgendes tun: Ich bin gerade dabei eine DLL in C++ zu verwirklichen. Das Exportieren von Funktionen bzw. Methoden klappt soweit... nur habe ich alles mal ein bisschen (der Übersicht und Wartung wegen) in Klassen aufgeteilt. Genau diese sollen intern in den DLL-Funktionen verwendet werden können und dabei aber nicht exportiert werden. Anbei folgenden Pseudoode:</p>
<pre><code class="language-cpp">/* dllmain.cpp */

#include &lt;windows.h&gt;
#include &lt;test.h&gt;

extern &quot;C&quot; __declspec(dllexport) BOOL set_test();

BOOL set_test() {
	Test test();
	test.clear();
	return TRUE;
}
</code></pre>
<pre><code class="language-cpp">/* test.h */

#ifndef TEST_H
#define TEST_H

#include &lt;windows.h&gt;

class Test
{
public:
	Test( void );
	virtual ~Test( void );
	inline void clear( void );
};	   // class Test

#endif // TEST_H
</code></pre>
<pre><code class="language-cpp">/* test.cpp */

#include &quot;test.h&quot;

Test::Test( void )
{
	return;
}

Test::~Test( void )
{
	return;
}

void Test::clear( void )
{
	return;
}
</code></pre>
<p>Wenn ich das bei MVC++ 2010 so kompiliere, kommt schon beim Übersetzen ein Fehler:</p>
<pre><code>1&gt;dllmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;public: void __thiscall Test::clear(void)&quot; (?clear@Test@@QAEXXZ)&quot; in Funktion &quot;_set_test&quot;..
</code></pre>
<p>Gut, denk' ich mir, also verändere ich mal die Klasse <em>Test</em> in <em>»test.h«</em> in Zeile 8 so, dass ich sie nutzen kann:</p>
<pre><code class="language-cpp">class __declspec(dllexport) Test
</code></pre>
<p>Funktioniert, nun exportiert er aber eben die gesamte Klasse. Man kommt zwar von außen nicht so leicht ran, liest man aber die Funktionen mit entsprechenden Tools aus, sieht man den ganzen Salat^^.</p>
<p>Meine Frage: Kann man Klassen innerhalb einer DLL nutzen, ohne sie exportieren zu müssen? Habe schon Stunden mit meinem Freund Google verbracht und nichts passendes gefunden... ich lande immer wieder bei Themen, wie man Klassen exportieren kann, aber das will ich ja nicht^^.</p>
<p><em>~ Gruß Tortigar</em></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292426/klassen-innerhalb-einer-dll-nutzen-aber-ohne-export</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 02:11:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292426.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Sep 2011 09:53:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 09:53:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>es wird Zeit das Forum mit meinem ersten Problem zu beglücken^^. Also ich möchte folgendes tun: Ich bin gerade dabei eine DLL in C++ zu verwirklichen. Das Exportieren von Funktionen bzw. Methoden klappt soweit... nur habe ich alles mal ein bisschen (der Übersicht und Wartung wegen) in Klassen aufgeteilt. Genau diese sollen intern in den DLL-Funktionen verwendet werden können und dabei aber nicht exportiert werden. Anbei folgenden Pseudoode:</p>
<pre><code class="language-cpp">/* dllmain.cpp */

#include &lt;windows.h&gt;
#include &lt;test.h&gt;

extern &quot;C&quot; __declspec(dllexport) BOOL set_test();

BOOL set_test() {
	Test test();
	test.clear();
	return TRUE;
}
</code></pre>
<pre><code class="language-cpp">/* test.h */

#ifndef TEST_H
#define TEST_H

#include &lt;windows.h&gt;

class Test
{
public:
	Test( void );
	virtual ~Test( void );
	inline void clear( void );
};	   // class Test

#endif // TEST_H
</code></pre>
<pre><code class="language-cpp">/* test.cpp */

#include &quot;test.h&quot;

Test::Test( void )
{
	return;
}

Test::~Test( void )
{
	return;
}

void Test::clear( void )
{
	return;
}
</code></pre>
<p>Wenn ich das bei MVC++ 2010 so kompiliere, kommt schon beim Übersetzen ein Fehler:</p>
<pre><code>1&gt;dllmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;public: void __thiscall Test::clear(void)&quot; (?clear@Test@@QAEXXZ)&quot; in Funktion &quot;_set_test&quot;..
</code></pre>
<p>Gut, denk' ich mir, also verändere ich mal die Klasse <em>Test</em> in <em>»test.h«</em> in Zeile 8 so, dass ich sie nutzen kann:</p>
<pre><code class="language-cpp">class __declspec(dllexport) Test
</code></pre>
<p>Funktioniert, nun exportiert er aber eben die gesamte Klasse. Man kommt zwar von außen nicht so leicht ran, liest man aber die Funktionen mit entsprechenden Tools aus, sieht man den ganzen Salat^^.</p>
<p>Meine Frage: Kann man Klassen innerhalb einer DLL nutzen, ohne sie exportieren zu müssen? Habe schon Stunden mit meinem Freund Google verbracht und nichts passendes gefunden... ich lande immer wieder bei Themen, wie man Klassen exportieren kann, aber das will ich ja nicht^^.</p>
<p><em>~ Gruß Tortigar</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117151</guid><dc:creator><![CDATA[Tortigar]]></dc:creator><pubDate>Fri, 09 Sep 2011 09:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 09:57:24 GMT]]></title><description><![CDATA[<p>Tortigar schrieb:</p>
<blockquote>
<p>inline void clear( void );</p>
</blockquote>
<p>Nimm mal das inline da weg (oder definier die Funktion auch inline).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117152</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Fri, 09 Sep 2011 09:57:24 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 10:08:12 GMT]]></title><description><![CDATA[<p>seldon schrieb:</p>
<blockquote>
<p>Nimm mal das inline da weg (oder definier die Funktion auch inline).</p>
</blockquote>
<p>Mmmh... wie denn... das war das Problem? Jetzt bin ich erstaunt^^. Also ist es einem nicht gestattet irgendwelche Funktionen in einer DLL als <em>inline</em> zu markieren, oder? Ein bisschen Schade, aber ich hoffe die Optimierung vom MVC++ macht das wieder wett.</p>
<p>Aber vielen Dank für deine Hilfe =).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117154</guid><dc:creator><![CDATA[Tortigar]]></dc:creator><pubDate>Fri, 09 Sep 2011 10:08:12 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 10:27:32 GMT]]></title><description><![CDATA[<p>Ich glaube dir ist gar nicht klar, was inline überhaupt macht. Mit Optimierung hat das heutzutage nur noch wenig zu tun. In erster Linie geht es darum, das man mit inline die ODR verletzen kann, was es einem erlaubt, Funktionen in Headern zu definieren.</p>
<p>Und Funktionen die wirklich inline sind (im Optimierungssinn) und dynamische Bibliotheken schließen sich ohnehin gegenseitig aus. Wie soll das funktionieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117166</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 09 Sep 2011 10:27:32 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 10:51:45 GMT]]></title><description><![CDATA[<p>Die Klasse soll in die DLL, dabei wollte ich aber auch (wie sooft) alles richtig machen und ich las mehrmals, dass man eine Funktion (sofern es sich lohnt) auch inline machen sollte. Man kann ja nicht ahnen, dass dies bei DLLs wieder nicht unbedingt zum Erfolg führt.</p>
<p>Aber mal was anderes... da mir <em>inline</em> wirklich nur (sagen wir mal) zu 65% klar scheint: Ist das obige Beispiel in Bezug auf Inline-Funktionen wohl falsch. Wäre es so richtig?</p>
<pre><code class="language-cpp">/* test.h */

#ifndef TEST_H
#define TEST_H

class Test
{
public:
    Test( void );
    virtual ~Test( void );
    inline void clear( void )
    {
        // Leere etwas
        return;
    }
};       // class Test

#endif // TEST_H
</code></pre>
<pre><code class="language-cpp">/* test.cpp */

#include &quot;test.h&quot;

Test::Test( void )
{
    // Tue etwas
    return;
}

Test::~Test( void )
{
    // Zerstöre etwas
    return;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2117178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117178</guid><dc:creator><![CDATA[Tortigar]]></dc:creator><pubDate>Fri, 09 Sep 2011 10:51:45 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 10:51:06 GMT]]></title><description><![CDATA[<p>war es denn das Problem ?<br />
Kann ich mir grad ned vorstellen, das es das inline allein ist ^^<br />
Hab aber auch grad nicht die musse nen Project zu erstellen und es selber zu testen <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>
<p>inline sollte den Compiler nur den Hinweis geben, das er die methode inlinen koennte. Das ist keine Pflicht fuer den Compiler.<br />
Manche schauen bei inline 2 mal hin, manche machen auch gar nix ....<br />
unabhaengig davon inlinet der compiler auch selber ... wenn er denkt das es richtig ist <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>
<p>bei erfolgreichem inline bekommst du kein symbol fuer die funktion.<br />
Dein Fehler sagt aber nur aus, dass du das Symbol fuer deine funktion nicht findest.<br />
Also muss der compiler mindestens einmal druebergegangen sein und hat das inline ignoriert.</p>
<p>test.h wird an 2 stellen includiert, also in 2 definitions dateien.<br />
dllmain.cpp<br />
test.cpp</p>
<p>da test.cpp bei ignorierten inline dafuer zustaendig wäre, das test::clear symbol zu erzeugen, weisst deine fehlermeldung drauf hin, das es von test.cpp aus nicht ignoriert wurde.<br />
dllmain.cpp wiederum sucht das symbol, ein indiz das es das inline ignorieren will.<br />
Das ist eher ungewöhnlich, da Du in dllmain.cpp nix machst, was das inlinen vom compiler beeinflussen wuerde ... es sei denn es wuerde versuchen Test mit zu exportieren, oder eine Export direktive ändert dir das verhalten.</p>
<p>was ungewoehnlich ist, du deklarierst und definierst in der datei deine exportfunktion <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>
<p>lager das</p>
<pre><code>extern &quot;C&quot; __declspec(dllexport) BOOL set_test();
</code></pre>
<p>mal in ne eigene headerdatei aus, und includier die in dllmain.cpp</p>
<p>generell sollte es aber auch mit dem inline gehen ...<br />
wobei es schon üblicher ist, inline funktionen im header zu implementieren.</p>
<p>generell noch:<br />
(void) ist C<br />
in c++ kannst und solltest das weglassen<br />
Test(); langt vollkommen.<br />
nur bei rueckgabe ist das void &quot;zwingend&quot; (sonst nimmt er int ^^ );</p>
<pre><code class="language-cpp">void Test::clear( void )
{
    return;
}
</code></pre>
<p>das return ist vollkommen sinnfrei ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117181</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Fri, 09 Sep 2011 10:51:06 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 10:54:32 GMT]]></title><description><![CDATA[<p>Wenn du eine Funktion inline deklarierst, muss sie in allen Übersetzungseinheiten, die sie benutzen, auf die gleiche Weise definiert sein. Das war bei dir nicht der Fall, und daher hast du das Problem. Du kannst die Funktion durchaus inline deklarieren, und das geht dann genau so, wie du im zweiten Anlauf schreibst.</p>
<p>Die technischen Garantien, die inline dir gibt, sind etwas esoterisch und haben vor allem mit Linkage zu tun. Die ursprüngliche Idee hinter inline war, dem Compiler zu empfehlen, die Funktion nicht wie eine normale Funktion aufzurufen, sondern an der Aufrufsstelle stattdessen einfach den Inhalt der Funktion einzufügen, um den Aufwand eines Funktionsaufrufes zu sparen. inline zwingt den Compiler nicht dazu, das zu tun, weil es nicht in allen Fällen möglich (Stichwort Rekursion) oder sinnvoll (bei sehr langen Funktionen) ist, und mit der Erfindung der Linkzeitoptimierung haben sich die Spielregeln da doch deutlich geändert - viele Compiler brauchen inzwischen nicht mehr den kompletten Quellcode einer Funktion, um sie inlinen zu können - aber da kommt das ganze her.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117182</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Fri, 09 Sep 2011 10:54:32 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 10:57:28 GMT]]></title><description><![CDATA[<blockquote>
<p>Und Funktionen die wirklich inline sind (im Optimierungssinn) und dynamische Bibliotheken schließen sich ohnehin gegenseitig aus. Wie soll das funktionieren?</p>
</blockquote>
<p>Ob er in ner dll innerhlab inlinet oder ned ist doch wurscht, und geht den von aussen nichts an, weil er von test überhaupt nix wissen muss.<br />
nur exportierte klassen kann er nicht inlinen, weil fuer die vollstaendig symbole erzeugt werden.<br />
Und die klasse exportieren will er aber auch nicht ..<br />
Das inline an sich ist damit nicht das problem ...<br />
Das problem ist eher, das der compiler mehr macht, als er grad da erwartet <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>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117183</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Fri, 09 Sep 2011 10:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 11:00:08 GMT]]></title><description><![CDATA[<p>RHBaum schrieb:</p>
<blockquote>
<p>inline sollte den Compiler nur den Hinweis geben, das er die methode inlinen koennte. Das ist keine Pflicht fuer den Compiler.<br />
Manche schauen bei inline 2 mal hin, manche machen auch gar nix ....<br />
unabhaengig davon inlinet der compiler auch selber ... wenn er denkt das es richtig ist <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>
</blockquote>
<p>Das ist etwas ungenau. Das ist nicht alles was inline macht. Eigentlich ist diese Bedeutung von inline mehr oder weniger obsolet, weil Compiler sowieso alles selber entscheiden, wenn sie die Möglichkeit haben. Und wenn sie die Möglichkeit nicht haben (weil es z.B. in einer anderen Übersetzungseinheit steht), dann wird's sowieso nichts mit dem inlinen (moderne Techniken wie Link-Time-Code-Generation mal außen vor belassen)</p>
<blockquote>
<p>bei erfolgreichem inline bekommst du kein symbol fuer die funktion.<br />
Dein Fehler sagt aber nur aus, dass du das Symbol fuer deine funktion nicht findest.<br />
Also muss der compiler mindestens einmal druebergegangen sein und hat das inline ignoriert.</p>
</blockquote>
<p>Das ist ungenau die zweite Bedeutung beschrieben. Noch einmal genauer gesagt: Inline Funktionen dürfen mehrmals definiert werden, wenn diese Definitionen identisch sind. Das Ergebnis verhält sich dann so wie eine einzige Version der Funktion mit externer Linkage. Das heißt, alle diese Funktionen haben die gleiche Adresse und auch statische Variablen funktionieren so als wäre alles eins.<br />
Außerdem tauchen Funktionen die inline sind nicht mehr als Symbol im Objektcode auf, wenn sie in einer Übersetzungseinheit nicht explizit benutzt wurden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117186</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 09 Sep 2011 11:00:08 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 11:01:46 GMT]]></title><description><![CDATA[<p>Ich muss das erstmal alles ausgiebig testen - muss auch gleich auf Arbeit. Resultate gibt's also erst morgen oder heute Abend.</p>
<p>RHBaum schrieb:</p>
<blockquote>
<p>generell noch:<br />
(void) ist C<br />
in c++ kannst und solltest das weglassen<br />
Test(); langt vollkommen.<br />
nur bei rueckgabe ist das void &quot;zwingend&quot; (sonst nimmt er int ^^ );</p>
</blockquote>
<p>Okay, dann lass ich auch dies mal weg. Ich freue mich immer wieder über Vorschläge, um meinen Stil ein bisschen zu verbessern. C++ ist immer noch etwas neu für mich und ich suche immer wie ein blöder im WWW, wie es am schönsten aussieht :3.</p>
<p>RHBaum schrieb:</p>
<blockquote>
<p>das return ist vollkommen sinnfrei ^^</p>
</blockquote>
<p>Ich weiß, aber ich wollte die Funktion zur Veranschaulichung mit irgendwas füllen^^.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117188</guid><dc:creator><![CDATA[Tortigar]]></dc:creator><pubDate>Fri, 09 Sep 2011 11:01:46 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 11:02:13 GMT]]></title><description><![CDATA[<p>RHBaum schrieb:</p>
<blockquote>
<blockquote>
<p>Und Funktionen die wirklich inline sind (im Optimierungssinn) und dynamische Bibliotheken schließen sich ohnehin gegenseitig aus. Wie soll das funktionieren?</p>
</blockquote>
<p>Ob er in ner dll innerhlab inlinet oder ned ist doch wurscht, und geht den von aussen nichts an, weil er von test überhaupt nix wissen muss.<br />
nur exportierte klassen kann er nicht inlinen, weil fuer die vollstaendig symbole erzeugt werden.<br />
Und die klasse exportieren will er aber auch nicht ..<br />
Das inline an sich ist damit nicht das problem ...<br />
Das problem ist eher, das der compiler mehr macht, als er grad da erwartet <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>
</blockquote>
<p>Ja, da hatte ich nicht den ganzen Thread gelesen. Ich dachte er wollte, dass die Funktionen aus seiner DLL in dem Programm welches diese benutzt inline werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117189</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 09 Sep 2011 11:02:13 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 11:20:10 GMT]]></title><description><![CDATA[<p>Denk das problem ist wirklich deine &quot;schreibweisse&quot;</p>
<p>den header test.h liesst er nur einmal ein, dank include Guards.<br />
der unterschied liegt also in den cpp dateien.<br />
in dllmain.cpp geht er von aus, das er nicht inlined, bei test.cpp wiederum schon ... einzig was ich mir erklären kann, ist das er in test.cpp die definition kennt, in dllmain.cpp eben nicht und er deswegen ned inlinen kann.</p>
<p>aber ich denke eigentlich das ich sowas trotzdem schon funktional gesehen hab, grad beim MSVC ... also inline und definition trotzdem in der cpp datei. (auch wenn es sich ned gehört).</p>
<p>Vielleicht spielt da die reihenfolge rein, wie er die definitionen übersetzet ???<br />
wenn test.cpp vor dllmain.cpp käme ... vielleicht.</p>
<p>Das zum Thema Esotherik <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117197</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Fri, 09 Sep 2011 11:20:10 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen innerhalb einer DLL nutzen - aber ohne Export =) on Fri, 09 Sep 2011 20:50:58 GMT]]></title><description><![CDATA[<p>So... also gut. Das Problem lag wirklich an meiner fragwürdigen Gestaltung der Header- und CPP-Dateien. Ich habe die Inline-Funktionen nun direkt in den Headerdateien definiert und jetzt geht's ohne Probleme. An alle ein herzliches Dankeschön =).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2117464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2117464</guid><dc:creator><![CDATA[Tortigar]]></dc:creator><pubDate>Fri, 09 Sep 2011 20:50:58 GMT</pubDate></item></channel></rss>