<?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[Probleme mit Erstellen und Einbinden einer DLL]]></title><description><![CDATA[<p>Ich habe mehrere Funktionen geschrieben, die ich in einem Header zusammengefasst habe (&quot;getterFuncs.h&quot;). Ich habe in diesem Header eine Funktion, die die anderen benutzt (&quot;meineFunktionImHeader()&quot;), und die ich gerne in eine dll exportieren möchte. Nach dem was ich recherchiert habe, habe ich folgendes in Visual Studio ausgeführt:</p>
<p>- Datei -&gt; Neu -&gt; Projekt -&gt; MFC Dll, regular DLL, MFC statically linked (ich will die aktuelle MFC dll nicht mitliefern müssen)</p>
<p>- in das Projekt habe ich meinen Header eingefügt (und included)</p>
<p>- im Projekt hat VS jetzt folgendes angelegt:</p>
<p>dlltest.h:</p>
<pre><code class="language-cpp">#include &quot;resource.h&quot;		// main symbols

// CIcaLicenseManagerApp
// See IcaLicenseManager.cpp for the implementation of this class
//

class CIcaLicenseManagerApp : public CWinApp
{
public:
	CIcaLicenseManagerApp();

// Overrides
public:
	virtual BOOL InitInstance();

	DECLARE_MESSAGE_MAP()
};
</code></pre>
<p>in der Implementierungsdatei dlltest.cpp habe ich folgenden Code eingefügt:</p>
<pre><code class="language-cpp">#include &quot;./getterfuncs.h&quot;

#if defined(_MSC_VER)
#define DLL __declspec(dllexport)
#else
#define DLL
#endif

DLL BOOL meineFunktion(CString name) {
		AFX_MANAGE_STATE(AfxGetStaticModuleState());
        return meineFunktionImHeader(name);
}
</code></pre>
<p>dann habe ich auf &quot;release&quot; gestellt, und kompiliert. Ich erhalte ohne Fehlermeldungen eine .dll und eine .lib Datei. Um das Einbinden zu testen, habe ich jetzt ein neues Dialogbasiertes Projekt erstellt, und dort in der Implementierungsdatei folgendes eingefügt:</p>
<pre><code class="language-cpp">__declspec(dllimport)BOOL meineFunktion(CString);
</code></pre>
<p>Außerdem habe ich die dlltester.lib unter den Project Settings bei Linker -&gt; Input angegeben.<br />
Wenn ich die Funktion jetzt aber verwende, dann bekomme ich die Meldung, dass sie nicht aufgelöst werden konnte (unresolved external symbol).</p>
<p>Wo ist mein Fehler? Es ist meine erste DLL <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/topic/153018/probleme-mit-erstellen-und-einbinden-einer-dll</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 22:33:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153018.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Jul 2006 05:45:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Erstellen und Einbinden einer DLL on Wed, 12 Jul 2006 05:51:42 GMT]]></title><description><![CDATA[<p>Ich habe mehrere Funktionen geschrieben, die ich in einem Header zusammengefasst habe (&quot;getterFuncs.h&quot;). Ich habe in diesem Header eine Funktion, die die anderen benutzt (&quot;meineFunktionImHeader()&quot;), und die ich gerne in eine dll exportieren möchte. Nach dem was ich recherchiert habe, habe ich folgendes in Visual Studio ausgeführt:</p>
<p>- Datei -&gt; Neu -&gt; Projekt -&gt; MFC Dll, regular DLL, MFC statically linked (ich will die aktuelle MFC dll nicht mitliefern müssen)</p>
<p>- in das Projekt habe ich meinen Header eingefügt (und included)</p>
<p>- im Projekt hat VS jetzt folgendes angelegt:</p>
<p>dlltest.h:</p>
<pre><code class="language-cpp">#include &quot;resource.h&quot;		// main symbols

// CIcaLicenseManagerApp
// See IcaLicenseManager.cpp for the implementation of this class
//

class CIcaLicenseManagerApp : public CWinApp
{
public:
	CIcaLicenseManagerApp();

// Overrides
public:
	virtual BOOL InitInstance();

	DECLARE_MESSAGE_MAP()
};
</code></pre>
<p>in der Implementierungsdatei dlltest.cpp habe ich folgenden Code eingefügt:</p>
<pre><code class="language-cpp">#include &quot;./getterfuncs.h&quot;

#if defined(_MSC_VER)
#define DLL __declspec(dllexport)
#else
#define DLL
#endif

DLL BOOL meineFunktion(CString name) {
		AFX_MANAGE_STATE(AfxGetStaticModuleState());
        return meineFunktionImHeader(name);
}
</code></pre>
<p>dann habe ich auf &quot;release&quot; gestellt, und kompiliert. Ich erhalte ohne Fehlermeldungen eine .dll und eine .lib Datei. Um das Einbinden zu testen, habe ich jetzt ein neues Dialogbasiertes Projekt erstellt, und dort in der Implementierungsdatei folgendes eingefügt:</p>
<pre><code class="language-cpp">__declspec(dllimport)BOOL meineFunktion(CString);
</code></pre>
<p>Außerdem habe ich die dlltester.lib unter den Project Settings bei Linker -&gt; Input angegeben.<br />
Wenn ich die Funktion jetzt aber verwende, dann bekomme ich die Meldung, dass sie nicht aufgelöst werden konnte (unresolved external symbol).</p>
<p>Wo ist mein Fehler? Es ist meine erste DLL <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/1096116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096116</guid><dc:creator><![CDATA[DrOetker]]></dc:creator><pubDate>Wed, 12 Jul 2006 05:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Erstellen und Einbinden einer DLL on Wed, 12 Jul 2006 06:07:57 GMT]]></title><description><![CDATA[<p>1. Wenn Du die DLL satisch linkst darfst Du in keinem Fall einen CString oder andere MFC Varaiblen übergeben! Das geht nur, wenn Du die DLL dynamisch linkst.<br />
2. Zeige mal die Fehlermeldung des Linkers.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096128</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 12 Jul 2006 06:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Erstellen und Einbinden einer DLL on Wed, 12 Jul 2006 06:14:04 GMT]]></title><description><![CDATA[<p>Aaaaah - das wars!!</p>
<p>Ich hatte das auch gelesen, leider ganz vergessen, woher CString stammt. Hab es in einen LPCTSTR umgeändert, und es geht! Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096131</guid><dc:creator><![CDATA[DrOetker]]></dc:creator><pubDate>Wed, 12 Jul 2006 06:14:04 GMT</pubDate></item></channel></rss>