<?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[Nicht aufgelöstes externe Symbol beim erstellen einer DLL]]></title><description><![CDATA[<p>Hallo,<br />
Ich habe ein Problem mit dem erstellen einer DLL in C++. Ich habe ganz normal eine Klasse erstellt und vor die Methoden &quot;static __declspec(dllexport)&quot; geschrieben, so wie es in der Dokumentation von microsoft geschrieben ist. Doch dann meckert der Kompiler. Wen ich den gleichen code, natürlich ohne &quot;static __declspec(dllexport)&quot; in eine normale Konsolenanwendung schreibe und dort von der main auf die Elemente zugreife funktioniert alles einwandfrei.<br />
Hier noch der Code, hoffe ihr könnt mir helfen:</p>
<pre><code>//TestDll.h
struct _Event
{
	int Nummber;  //Die struct habe ich hier gekürtzt
};

class MyClass
{
public:
	static __declspec(dllexport) _Event GetEvent();

private:
	static __declspec(dllexport) _Event Event;
};

//TestDll.cpp
#include &quot;TestDll.h&quot;
_Event MyClass::GetEvent()
{
	_Event Safe = Event;
	Event.Nummber = 0;
	return Safe;
}
</code></pre>
<p>LG Catalamo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/319774/nicht-aufgelöstes-externe-symbol-beim-erstellen-einer-dll</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 22:14:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/319774.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Sep 2013 13:30:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 13:30:37 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Ich habe ein Problem mit dem erstellen einer DLL in C++. Ich habe ganz normal eine Klasse erstellt und vor die Methoden &quot;static __declspec(dllexport)&quot; geschrieben, so wie es in der Dokumentation von microsoft geschrieben ist. Doch dann meckert der Kompiler. Wen ich den gleichen code, natürlich ohne &quot;static __declspec(dllexport)&quot; in eine normale Konsolenanwendung schreibe und dort von der main auf die Elemente zugreife funktioniert alles einwandfrei.<br />
Hier noch der Code, hoffe ihr könnt mir helfen:</p>
<pre><code>//TestDll.h
struct _Event
{
	int Nummber;  //Die struct habe ich hier gekürtzt
};

class MyClass
{
public:
	static __declspec(dllexport) _Event GetEvent();

private:
	static __declspec(dllexport) _Event Event;
};

//TestDll.cpp
#include &quot;TestDll.h&quot;
_Event MyClass::GetEvent()
{
	_Event Safe = Event;
	Event.Nummber = 0;
	return Safe;
}
</code></pre>
<p>LG Catalamo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349892</guid><dc:creator><![CDATA[Catalamo]]></dc:creator><pubDate>Mon, 02 Sep 2013 13:30:37 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 14:46:27 GMT]]></title><description><![CDATA[<p>In der Anwendung, die die dll linked, musst du die entsprechenden Methoden mit __desclspec(dllimport) kennzeichnen. Hast du das auch gemacht? Was bekommst du konkret für eine Fehlermeldung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349899</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Mon, 02 Sep 2013 14:46:27 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 15:12:46 GMT]]></title><description><![CDATA[<p>Meinst du, dass die header, die ich bei einem späteren Projekt bei VC++-Verzeichnisse hinzufüge mit __desclspec(dllimport) gekennzeichnet sein muss?</p>
<p>Ich komme ja aber garnicht dazu überhaubt eine dll zu erstellen, aufgrund des<br />
Fehlers.</p>
<p>Tut mir leid, habe die Fehlermeldung vergessen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>1&gt;TestDll.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;private: static struct _Event MyClass::Event&quot; (?Event@MyClass@@0U_Event@@A)&quot;.<br />
1&gt;D:\ConsoleApplication1\Debug\ConsoleApplication1.dll : fatal error LNK1120: 1 nicht aufgelöste Externe</p>
<p>LG Catalamo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349904</guid><dc:creator><![CDATA[Catalamo]]></dc:creator><pubDate>Mon, 02 Sep 2013 15:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 15:18:48 GMT]]></title><description><![CDATA[<p>Catalamo schrieb:</p>
<blockquote>
<p>Meinst du, dass die header, die ich bei einem späteren Projekt bei VC++-Verzeichnisse hinzufüge mit __desclspec(dllimport) gekennzeichnet sein muss?</p>
</blockquote>
<p>Ja, am besten einfach den selben Header verwenden und per #define zwischen dllexport und dllimport umschalten.</p>
<p>Catalamo schrieb:</p>
<blockquote>
<p>1&gt;TestDll.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;private: static struct _Event MyClass::Event&quot; (?Event@MyClass@@0U_Event@@A)&quot;.<br />
1&gt;D:\ConsoleApplication1\Debug\ConsoleApplication1.dll : fatal error LNK1120: 1 nicht aufgelöste Externe</p>
</blockquote>
<p>Und du hast MyClass::Event auch tatsächlich in der dll definiert und nicht als dllimport markiert, oder woher soll diese Methode kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349906</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Mon, 02 Sep 2013 15:18:48 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 15:27:32 GMT]]></title><description><![CDATA[<p>Ich verstehe deine Frage leider nicht so ganz. <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>
<p>Die struct Event wird doch in der header deklariert und in der Klasse definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349908</guid><dc:creator><![CDATA[Catalamo]]></dc:creator><pubDate>Mon, 02 Sep 2013 15:27:32 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 15:52:16 GMT]]></title><description><![CDATA[<p>Er vermisst ja aber auch nicht die Definition des struct _Event, sondern die Definition des statischen Members MyClass::Event...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349910</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Mon, 02 Sep 2013 15:52:16 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 15:55:14 GMT]]></title><description><![CDATA[<p>Der Bezeichner _Event ist übrigens reserviert, wie alle Bezeichner mit Unterstrich-Großbuchstabe oder zwei Unterstrichen am Anfang.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349913</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 02 Sep 2013 15:55:14 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 16:39:23 GMT]]></title><description><![CDATA[<p>Danke, soweit habe ich es geschaft die Dll zu kompilieren. Wen ich jetzt allerding die dll bei einem anderen Projekt einbinde und diese nutzen möchte, gibt es zwar keinen Kompilierungsfehler, allerdings wird der Einsprungpunkt nicht gefunden. Was bedeutet das und wie kannn ich das beheben?</p>
<p>Habe auch in der header aus dllexport dllimport gemacht.</p>
<p>Hoffe noch einmal auf eure hilfe <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>LG Catalamo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349918</guid><dc:creator><![CDATA[Catalamo]]></dc:creator><pubDate>Mon, 02 Sep 2013 16:39:23 GMT</pubDate></item><item><title><![CDATA[Reply to Nicht aufgelöstes externe Symbol beim erstellen einer DLL on Mon, 02 Sep 2013 17:06:37 GMT]]></title><description><![CDATA[<p>Fehler gefunden, Ich hatte eine veraltete dll verison im debug ordner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2349923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2349923</guid><dc:creator><![CDATA[Catalamo]]></dc:creator><pubDate>Mon, 02 Sep 2013 17:06:37 GMT</pubDate></item></channel></rss>