<?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[Eigene statische Bibliothek mit globaler Variable]]></title><description><![CDATA[<p>Ich habe eine eigene Bibliothek, die statisch gelinkt wird.<br />
In dieser Bibliothek gibt es eine einzige globale Variable, die zum Umschalten der Sprache genutzt wird.</p>
<pre><code>// (im echten Code mit namespaces, hier jetzt XXX als namespace)
// header:
extern Language gCurrentLanguage;

// cpp
Language gCurrentLanguage = English;
</code></pre>
<p>Will ich gCurrentLanguage jetzt in dem Projekt verändern, wo ich die Bibliothek am Ende mitlinke, meldet mir der Compiler</p>
<blockquote>
<p>1&gt;Localization.cpp(4): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
1&gt;Localization.cpp(4): error C2371: 'XXX::gCurrentLanguage': Neudefinition; unterschiedliche Basistypen</p>
</blockquote>
<p>Ich kann also die Sprache nicht einfach umstellen wie geplant:</p>
<pre><code>// Im eigenen Projekt
XXX::gCurrentLanguage = XXX::German;
</code></pre>
<p>Was ist der Grund und wie kann ich das ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/328281/eigene-statische-bibliothek-mit-globaler-variable</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 03:37:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/328281.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Oct 2014 09:04:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 09:04:38 GMT]]></title><description><![CDATA[<p>Ich habe eine eigene Bibliothek, die statisch gelinkt wird.<br />
In dieser Bibliothek gibt es eine einzige globale Variable, die zum Umschalten der Sprache genutzt wird.</p>
<pre><code>// (im echten Code mit namespaces, hier jetzt XXX als namespace)
// header:
extern Language gCurrentLanguage;

// cpp
Language gCurrentLanguage = English;
</code></pre>
<p>Will ich gCurrentLanguage jetzt in dem Projekt verändern, wo ich die Bibliothek am Ende mitlinke, meldet mir der Compiler</p>
<blockquote>
<p>1&gt;Localization.cpp(4): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
1&gt;Localization.cpp(4): error C2371: 'XXX::gCurrentLanguage': Neudefinition; unterschiedliche Basistypen</p>
</blockquote>
<p>Ich kann also die Sprache nicht einfach umstellen wie geplant:</p>
<pre><code>// Im eigenen Projekt
XXX::gCurrentLanguage = XXX::German;
</code></pre>
<p>Was ist der Grund und wie kann ich das ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420223</guid><dc:creator><![CDATA[Bibliothekar]]></dc:creator><pubDate>Wed, 01 Oct 2014 09:04:38 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 09:32:56 GMT]]></title><description><![CDATA[<p>Wo und wie ist <em>Language</em> definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420232</guid><dc:creator><![CDATA[Singender Holzkübel]]></dc:creator><pubDate>Wed, 01 Oct 2014 09:32:56 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 10:21:24 GMT]]></title><description><![CDATA[<p>Direkt über der extern-Deklaration in der Header-Datei:</p>
<pre><code>enum Language { English, German };
	extern Language gCurrentLanguage;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2420238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420238</guid><dc:creator><![CDATA[Bibliothekar]]></dc:creator><pubDate>Wed, 01 Oct 2014 10:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 10:28:31 GMT]]></title><description><![CDATA[<p>Und ist dieser Header in Localization.cpp eingebunden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420242</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 01 Oct 2014 10:28:31 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 10:37:08 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>Und ist dieser Header in Localization.cpp eingebunden?</p>
</blockquote>
<p>Ja, genau. Localization.cpp als Teil des Projektes, das die Bibliothek verwendet, bindet diesen Header ein und direkt danach versuche ich, auf die globale Variable zuzugreifen mit den obigen Fehlermeldungen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420245</guid><dc:creator><![CDATA[Bibliothekar]]></dc:creator><pubDate>Wed, 01 Oct 2014 10:37:08 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 10:43:59 GMT]]></title><description><![CDATA[<p>Hast du verschiedene Headerdateien mit demselben Namen? Haben irgendwelche Header dieselben Include-Guards? Oder gibt es Kollisionen zwischen Include-Guards und Bezeichnern?</p>
<p>Falls nicht, zeig ein Minimalbeispiel, das das Problem reproduziert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420247</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 01 Oct 2014 10:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 10:48:29 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">enum Language { English, German };
extern Language gCurrentLanguage;

Language gCurrentLanguage = English;
</code></pre>
<p>kompiliert. Der Fehler ist woanders zu suchen.<br />
Wie minimale Beispiele zu konstruieren sind, wird ja <a href="http://www.c-plusplus.net/forum/304133" rel="nofollow">erklärt</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420249</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 01 Oct 2014 10:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Wed, 01 Oct 2014 10:58:56 GMT]]></title><description><![CDATA[<p>Ok, ich hatte die Vermutung, dass das was mit &quot;kompilieren als bibliothek&quot; zu tun hat. Da dem nicht so zu sein scheint, setze ich mich gleich nochmal ran und untersuche das. Ich melde mich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420251</guid><dc:creator><![CDATA[Bibliothekar]]></dc:creator><pubDate>Wed, 01 Oct 2014 10:58:56 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene statische Bibliothek mit globaler Variable on Thu, 02 Oct 2014 09:12:15 GMT]]></title><description><![CDATA[<p>ok ganz dummer Fehler: Vor lauter programmieren hab ich die variable global anstatt lokal verändern wollen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2420425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2420425</guid><dc:creator><![CDATA[Bibliothekar]]></dc:creator><pubDate>Thu, 02 Oct 2014 09:12:15 GMT</pubDate></item></channel></rss>