<?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[frage zu statischer lib unter windows (visual 2003)]]></title><description><![CDATA[<p>folgende frage:</p>
<p>ich bekomme unter windows beim linken von einem projekt welches eine statische library benutzt einen linkerfehler fuer folgendes szenario:</p>
<p>in der statischen lib gibt es ein modul a.cpp innerhalb welcher die implementierung fuer eine Klasse A zu finden ist. Im Konstruktor der Klasse A<br />
wird eine in einem anderen modul b.cpp (ebenfalls zur statischen lib gehoerend) global angelegte variable X verwendet.</p>
<pre><code>// A.cpp:
extern long X;
A::A()
{
  long *tmp = &amp;X;
}
</code></pre>
<pre><code>// B.cpp:
long X;
</code></pre>
<p>Eine Instanz der Klasse A wird nun in einem anderen Teilprojekt, welches die statische lib verwenden soll, angelegt. Beim Uebersetzen dieses Projektes gibt es einen Linker-Fehler (undefined reference to X).</p>
<p>wieso dies? Absicht ist es X fuer die Aussenwelt unsichtbar zu halten.</p>
<p>Ideen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/297633/frage-zu-statischer-lib-unter-windows-visual-2003</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 09:11:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297633.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Jan 2012 17:25:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to frage zu statischer lib unter windows (visual 2003) on Tue, 03 Jan 2012 17:25:14 GMT]]></title><description><![CDATA[<p>folgende frage:</p>
<p>ich bekomme unter windows beim linken von einem projekt welches eine statische library benutzt einen linkerfehler fuer folgendes szenario:</p>
<p>in der statischen lib gibt es ein modul a.cpp innerhalb welcher die implementierung fuer eine Klasse A zu finden ist. Im Konstruktor der Klasse A<br />
wird eine in einem anderen modul b.cpp (ebenfalls zur statischen lib gehoerend) global angelegte variable X verwendet.</p>
<pre><code>// A.cpp:
extern long X;
A::A()
{
  long *tmp = &amp;X;
}
</code></pre>
<pre><code>// B.cpp:
long X;
</code></pre>
<p>Eine Instanz der Klasse A wird nun in einem anderen Teilprojekt, welches die statische lib verwenden soll, angelegt. Beim Uebersetzen dieses Projektes gibt es einen Linker-Fehler (undefined reference to X).</p>
<p>wieso dies? Absicht ist es X fuer die Aussenwelt unsichtbar zu halten.</p>
<p>Ideen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163371</guid><dc:creator><![CDATA[rb]]></dc:creator><pubDate>Tue, 03 Jan 2012 17:25:14 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu statischer lib unter windows (visual 2003) on Tue, 03 Jan 2012 17:29:13 GMT]]></title><description><![CDATA[<p>Dann wird die statische Bibliothek die du aus B.cpp erstellt hast, wohl nicht dazu gelinkt. Vielleicht reicht dir dieses Stichwort schon, ansonsten kann dir sicher gleich jemand erklären, wie man das bei VS 2003 (Hallo! Es ist <s>2011</s> 2012 und es kommt ca. alle 2 Jahre eine neue Version!) genau macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163373</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jan 2012 17:29:13 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu statischer lib unter windows (visual 2003) on Tue, 03 Jan 2012 17:36:10 GMT]]></title><description><![CDATA[<p>wir haben leider am arbeitsplatz momentan aus lizenstechnischen-gruenden ne 2003er version :))</p>
<blockquote>
<p>Dann wird die statische Bibliothek die du aus B.cpp erstellt hast, wohl nicht dazu gelinkt.</p>
</blockquote>
<p>Doch wird sie. Das Problem taucht nur unter Windows mit Visual auf. Unter ner Linux Kiste mit BSD und KDevelop gibt es keine Probleme.</p>
<p>Aber vielleicht habe ich ja mit meinem unguten gefuehl recht, wenn ich darueber nachdenke, dass die Instanz der Klasse A (welche ja in der Bibliothek implementiert ist) in dem Projekt, welches die Lib verwenden will, erstellt wird.</p>
<p>Beim Linken will nun der Linker wissen, was es mit dem X auf sich hat, findet aber nix, da das X nur einmalig in dem modul a.cpp der statischen lib mit extern angegeben wurde.<br />
ich glaube link-reihenfolgen spielen hier vielleicht auch mit !?!?</p>
<p><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/2163375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163375</guid><dc:creator><![CDATA[rb]]></dc:creator><pubDate>Tue, 03 Jan 2012 17:36:10 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu statischer lib unter windows (visual 2003) on Tue, 03 Jan 2012 17:41:02 GMT]]></title><description><![CDATA[<p>ach uebrigens noch ein nachtrag:</p>
<p>alles was in a.cpp oder in b.cpp steht ist innerhalb eines<br />
namespaces.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163376</guid><dc:creator><![CDATA[rb]]></dc:creator><pubDate>Tue, 03 Jan 2012 17:41:02 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu statischer lib unter windows (visual 2003) on Tue, 03 Jan 2012 20:10:56 GMT]]></title><description><![CDATA[<p>rb schrieb:</p>
<blockquote>
<p>wir haben leider am arbeitsplatz momentan aus lizenstechnischen-gruenden ne 2003er version :))</p>
</blockquote>
<p>Kündige. Von einem ordentlichen Unternehmen erwarte ich mir mindestens eine 2008er Version.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163420</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 03 Jan 2012 20:10:56 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu statischer lib unter windows (visual 2003) on Tue, 03 Jan 2012 20:52:00 GMT]]></title><description><![CDATA[<p>Naja, wir als Ausenstehende können da entweder dir oder deinem Linker glauben. Und ich fürchte, da werden die meisten wohl zu der Maschine halten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2163437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2163437</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 03 Jan 2012 20:52:00 GMT</pubDate></item></channel></rss>