<?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[Dlls und verschiedene VS-Versionen]]></title><description><![CDATA[<p>Kann man eine mit dem 7er Studio erstellte Dll in einem VS 6 Projekt verwenden?<br />
Ich bekomme beim Aufruf von Funktionen der Dll eine Access Violation mit dem Hinweis auf die MSVCR70.DLL...<br />
Die DLL-Schnittstellen beinhalten auch std-container und -strings. Sind die das Problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/138527/dlls-und-verschiedene-vs-versionen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 18:15:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/138527.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Feb 2006 08:59:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 08:59:45 GMT]]></title><description><![CDATA[<p>Kann man eine mit dem 7er Studio erstellte Dll in einem VS 6 Projekt verwenden?<br />
Ich bekomme beim Aufruf von Funktionen der Dll eine Access Violation mit dem Hinweis auf die MSVCR70.DLL...<br />
Die DLL-Schnittstellen beinhalten auch std-container und -strings. Sind die das Problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1003913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1003913</guid><dc:creator><![CDATA[mib]]></dc:creator><pubDate>Mon, 27 Feb 2006 08:59:45 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 09:03:53 GMT]]></title><description><![CDATA[<p>ist es eine MFC-DLL oder eine Standard-DLL? Wichtig ist dann auch wie die MFC dazugelinkt wurde, also statisch oder dynamisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1003915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1003915</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 27 Feb 2006 09:03:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 09:08:20 GMT]]></title><description><![CDATA[<p>Es ist eine Standard-DLL mit dynamisch gelinkter MFC...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1003919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1003919</guid><dc:creator><![CDATA[mib]]></dc:creator><pubDate>Mon, 27 Feb 2006 09:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 09:12:07 GMT]]></title><description><![CDATA[<p>joar dann liegts an der dynamischen &quot;Linkung&quot;. Die will die alten 6er-MFC-DLLs, in der 7er sind die nämlich etwas anders.<br />
Also das beste wäre, die DLL, wenn das möglich ist im 6er nochmal statisch zu kompilieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1003921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1003921</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 27 Feb 2006 09:12:07 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 13:51:58 GMT]]></title><description><![CDATA[<p>Zu beachten wäre noch, dass Du <strong>niemals</strong> Funktionen/Klassen in der DLL exportieren darfst, welche STL/MFC Dinge verwenden /wie z.B. CString), wenn Du statisch gelinkt hast. Da sonst die EXE eine andere CRT verwendet um z.B: den String zu vergrößern/freizugeben.<br />
Und wenn Du dynamisch linkst (was Du ja dann musst), dann darfst Du <strong>nie</strong> unterschiedliche Versionen mischen (also VC7/VC8/VC6).</p>
<p>Also, entweder solche Dinge nicht exportieren oder immer die gleiche CRT/MFC/ATL Version verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1004162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1004162</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 27 Feb 2006 13:51:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 14:17:53 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5675">@Jochen</a><br />
hab ich dich richtig verstanden: wenn ich STL oder MFC- Dinge aus meiner DLL exportieren will, muss meine Dll dynamisch zum Projekt gelinkt werden, damit man die Dll-Funktionalität nutzen kann? Oder meinst du ich muss die MFC dynamisch linken <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1004197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1004197</guid><dc:creator><![CDATA[mib]]></dc:creator><pubDate>Mon, 27 Feb 2006 14:17:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 14:29:12 GMT]]></title><description><![CDATA[<p>bin zwar nicht Jochen, aber er meinte, wenn du MFC Sachen exportierst, dann kanst du die nur nutzen, wenn der &quot;Nutzer&quot; diesselbe MFC-Version hat.</p>
<p>Andererseits wenn du ne Standard-DLL machen willst, kannst du eh keine Klassen exportieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1004208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1004208</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 27 Feb 2006 14:29:12 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 15:07:44 GMT]]></title><description><![CDATA[<p>Wie Pellaeon schreibt muss nicht die DLL dynamisch gelinkt werden (also LoadLibrary), sondern Du must *gegen* die DLL-Versionen der CRT/MFC/ATL linken...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1004264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1004264</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 27 Feb 2006 15:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 16:08:40 GMT]]></title><description><![CDATA[<p>Noch mehr elementare Fragen:</p>
<p>Was genau heisst &quot;Klassen exportieren&quot;? In meiner Dll hab ich 2 Schnittstellenfunktionen, die std::strings und Vektoren mit Objekten, die in meiner Dll definiert sind, als Übergabeparamter haben. Die Dll wird dann statisch zu Projekten gelinkt, also geb ich die ganzen Header und die lib mit. Meine Klassen haben alle diese Exportdirektive, keine Ahnung ob man die braucht...Ist das nun schon das, was ihr als Klassenexport bezeichnet?</p>
<p>Beim Versuch die Dll mit dem 6er Studio zu erstellen bekomm ich jede Menge warnings vom Typ C4251(das die ganzen stl basisklassen ein dll-interface brauchen um von den dll clients benutzt werden zu können...)<br />
Meine Dll macht zwar das was sie soll, aber am Ende beim Freigeben des Speichers rummst es...ich weiss nicht so richtig was ich falsch mache, im 7er Studio klappt es ja schliesslich auch... <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1004375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1004375</guid><dc:creator><![CDATA[mib]]></dc:creator><pubDate>Mon, 27 Feb 2006 16:08:40 GMT</pubDate></item><item><title><![CDATA[Reply to Dlls und verschiedene VS-Versionen on Mon, 27 Feb 2006 21:55:25 GMT]]></title><description><![CDATA[<p>mib schrieb:</p>
<blockquote>
<p>Was genau heisst &quot;Klassen exportieren&quot;? In meiner Dll hab ich 2 Schnittstellenfunktionen, die std::strings und Vektoren mit Objekten, die in meiner Dll definiert sind, als Übergabeparamter haben. Die Dll wird dann statisch zu Projekten gelinkt, also geb ich die ganzen Header und die lib mit. Meine Klassen haben alle diese Exportdirektive, keine Ahnung ob man die braucht...Ist das nun schon das, was ihr als Klassenexport bezeichnet?</p>
</blockquote>
<p>Ja, genau das ist das.</p>
<p>mib schrieb:</p>
<blockquote>
<p>Beim Versuch die Dll mit dem 6er Studio zu erstellen bekomm ich jede Menge warnings vom Typ C4251(das die ganzen stl basisklassen ein dll-interface brauchen um von den dll clients benutzt werden zu können...)<br />
Meine Dll macht zwar das was sie soll, aber am Ende beim Freigeben des Speichers rummst es...ich weiss nicht so richtig was ich falsch mache, im 7er Studio klappt es ja schliesslich auch... <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="😞"
    /></p>
</blockquote>
<p>Siehe: STL std::string class causes crashes and memory corruption on multi-processor machines<br />
<a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;813810" rel="nofollow">http://support.microsoft.com/default.aspx?scid=kb;en-us;813810</a></p>
<p>Siehe: Microsoft Visual Studio .NET 2003 Warning C4251<br />
<a href="http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html" rel="nofollow">http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1004714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1004714</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Mon, 27 Feb 2006 21:55:25 GMT</pubDate></item></channel></rss>