<?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[Dll mit Codelite]]></title><description><![CDATA[<p>Hallo,<br />
ich verzweifle momentan am Erstellen einer nutzbaren DLL mit Codelite.<br />
Habe keine Ahnung von Dlls, deshalb hab ich nach Tutorials gesucht, die bezogen<br />
sich aber entweder auf die WinApi oder Linux.</p>
<p>Habe meine Test-Dll so aufgebaut:</p>
<p>test.h</p>
<pre><code>#ifndef MAIN_H
#define MAIN_H

__declspec(dllexport) char test();

#endif
</code></pre>
<p>test.cpp</p>
<pre><code>#include &quot;main.h&quot;

__declspec(dllexport) char test()
{
	return 'T';
}
</code></pre>
<p>In meinem Testprogramm hab ich dann später, den Header inkludiert, die Bibliothek gelinkt und versucht<br />
auf test() zuzugreifen doch ich bekam nur ein <strong>undefined reference to `test()'</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Mein Hauptproblem ist, dass ich bei den diversen Makros in<br />
den Beispielen nicht durchblicke. Ich hoffe ihr könnt mir etwas Klarheit verschaffen. Nutzen will ich die DLL nachher zusammen mit wxWidgets.</p>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317885/dll-mit-codelite</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 22:52:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317885.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Jun 2013 20:23:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dll mit Codelite on Sun, 23 Jun 2013 20:23:38 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich verzweifle momentan am Erstellen einer nutzbaren DLL mit Codelite.<br />
Habe keine Ahnung von Dlls, deshalb hab ich nach Tutorials gesucht, die bezogen<br />
sich aber entweder auf die WinApi oder Linux.</p>
<p>Habe meine Test-Dll so aufgebaut:</p>
<p>test.h</p>
<pre><code>#ifndef MAIN_H
#define MAIN_H

__declspec(dllexport) char test();

#endif
</code></pre>
<p>test.cpp</p>
<pre><code>#include &quot;main.h&quot;

__declspec(dllexport) char test()
{
	return 'T';
}
</code></pre>
<p>In meinem Testprogramm hab ich dann später, den Header inkludiert, die Bibliothek gelinkt und versucht<br />
auf test() zuzugreifen doch ich bekam nur ein <strong>undefined reference to `test()'</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Mein Hauptproblem ist, dass ich bei den diversen Makros in<br />
den Beispielen nicht durchblicke. Ich hoffe ihr könnt mir etwas Klarheit verschaffen. Nutzen will ich die DLL nachher zusammen mit wxWidgets.</p>
<p>Vielen Dank im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333612</guid><dc:creator><![CDATA[gero++ 0]]></dc:creator><pubDate>Sun, 23 Jun 2013 20:23:38 GMT</pubDate></item><item><title><![CDATA[Reply to Dll mit Codelite on Sun, 23 Jun 2013 22:26:13 GMT]]></title><description><![CDATA[<pre><code>extern &quot;C&quot; __declspec(dllexport) char test();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2333663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333663</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sun, 23 Jun 2013 22:26:13 GMT</pubDate></item><item><title><![CDATA[Reply to Dll mit Codelite on Sun, 23 Jun 2013 22:33:55 GMT]]></title><description><![CDATA[<p>Ich weiß nicht, wo da was mit CodeLite, was ich eh nicht kenne, zu tun hat, aber es ist ja so, dass Du beim Kompilieren der DLL genau das schreiben musst, was Du auch getan hast, beim Nutzen der DLL jedoch dllexport durch dllimport ersetzen musst.</p>
<p>Das führt dann dazu, dass man sich einfach so was schreibt:</p>
<pre><code class="language-cpp">// Header

#ifdef IMPORT_DLL
#define DLL_SPECIFIER __declspec(dllimport)
#else
#define DLL_SPECIFIER __declspec(dllexport)
#endif

int DLL_SPECIFIER a(); // genau son cpp-Datei
</code></pre>
<p>Nutzt Du dann im Programm, welches das Teil nutzt, den Header, definierst Du vorher (oder einfach fürs ganze Projekt) IMPORT_DLL, sodass automatisch die Umwandlung in dllimport geschieht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333665</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Sun, 23 Jun 2013 22:33:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dll mit Codelite on Mon, 24 Jun 2013 11:10:31 GMT]]></title><description><![CDATA[<p>Müsste das</p>
<pre><code>int DLL_SPECIFIER a()
</code></pre>
<p>dann nicht</p>
<pre><code>extern &quot;C&quot; DLL_SPECIFIER int a()
</code></pre>
<p>heißen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333784</guid><dc:creator><![CDATA[gero++ 0]]></dc:creator><pubDate>Mon, 24 Jun 2013 11:10:31 GMT</pubDate></item><item><title><![CDATA[Reply to Dll mit Codelite on Mon, 24 Jun 2013 12:54:05 GMT]]></title><description><![CDATA[<p>Mache ich nie so, außer ich will Funktionen so exportieren, dass sie auch in Excel oder so laufen. Will ich aber in der Regel nicht. Eine Erläuterung Ethons, warum er das extern &quot;C&quot; eingeführt hat, wäre hilfreich gewesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333858</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Mon, 24 Jun 2013 12:54:05 GMT</pubDate></item><item><title><![CDATA[Reply to Dll mit Codelite on Mon, 24 Jun 2013 13:44:06 GMT]]></title><description><![CDATA[<p>Habe für einen Moment fälschlich angenommen dass das Name-Mangling für den Linkerfehler verantwortlich ist.<br />
Wird auch ohne extern &quot;C&quot; funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333901</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Mon, 24 Jun 2013 13:44:06 GMT</pubDate></item><item><title><![CDATA[Reply to Dll mit Codelite on Tue, 25 Jun 2013 20:27:44 GMT]]></title><description><![CDATA[<p>Vielen Dank für die 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="🙂"
    /> Der Linkerfehler wurde versucht, da Codelite<br />
nicht den Pfad der Bibliothek zuordnen konnte. Jetzt klappt's. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2334359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334359</guid><dc:creator><![CDATA[gero++ 0]]></dc:creator><pubDate>Tue, 25 Jun 2013 20:27:44 GMT</pubDate></item></channel></rss>