<?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[Namespaces in XCode]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich weiß nicht ob das das richtige Forum ist. Es geht ja um C++ aber ich glaube irgendwie dass es ein Compilerproblem ist, aber sicher bin ich mir nicht. Also ggfls. bitte ins richtige Forum ziehen. <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>So, zum Problem. Also, ich habe ein großes Projekt. Ein Teil des Projekts verwendet einen eigenen namespace. Nun murkst der XCode compiler (neueste Version) rum, wenn ich meinen Code kompilieren will. Zur Info unter Windows in Visual C++ und in Codwarrior 8 WIN kompiliert der Code problemlos!</p>
<p>Hier mal eine Pseudostruktur der Namespace dateien.</p>
<p>ownvector.h<br />
ownmatrix.h<br />
ownobjects.h<br />
owncombiner.h<br />
ownmaster.h</p>
<p>Jede Datei ist im Namespace deklariert und zwar in folgender Pseudoform:</p>
<pre><code class="language-cpp">#headerdefine

//forward declaration
namespace XYZ
{
   class nameClass;
}

#include &quot;necessary.h&quot;

namespace XYZ
{
    class nameClass
    {
        [...]
    };
}
#endif
</code></pre>
<p>natürlich sind Template Klassen entsprechend deklariert.</p>
<p>Kurz zwischengeschoben, der Master ist die Klasse wo das meiste berechnet wird und die anderen Klassen sind objekte die Unteraufgaben erfüllen...quasi. <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>Manche der Klassen, benötigen jedoch den Master um einige Berechnungen durchzuführen. Ok, also hab ich mir gedacht, dass ich einfach einen Pointer des Master objekts bei Konstruktion übergebe und dieses dann genutzt wird.</p>
<pre><code class="language-cpp">namespace XYZ
{
    class className;
    //class Master;
}

#include &quot;necessary.h&quot;
//#include &quot;master.h&quot;

namespace XYZ
{ 
    class className;
    {
      void TestFunction()
      {
           m_ptr-&gt;Do();  //Error Message, Master not defined
      }
     [...]
   private:
    XYZ::Master* m_ptr;
    };
}
</code></pre>
<p>Und hier kommt das Problem auf. Der XCode Compiler sagt mir dass die Klasse &quot;Master&quot; undefiniert ist, und an der Stelle wo ich auf den Pointer zugreifen will gibts nen Kompilierungsfehler. Dürfte doch eigentlich kein Problem sein (ist es auch nicht bei den anderen Compilern) oder?</p>
<p>Ich hatte dieses Problem mal mit Codewarrior, da hat er auch wirre Errors rausgeworfen bei Verwendung des Namespaces. Das Problem war, dass ich</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
</code></pre>
<p>genutzt habe!</p>
<p>Nachdem ich stattdessen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
</code></pre>
<p>verwendet habe, ging es tadellos. <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="😕"
    /> Versteh ich auch nicht ganz, aber naja. Aber wenn ich das in XCode mache, erhalte ich um so mehr Fehler. Argh, was ist los mit diesem Compiler? (Aber ich bin gezwungen ihn zu nutzen).</p>
<p>Nun gut, ich hoffe es wurde einigermaßen klar, was das Problem ist (obwohl es mir selber ja auch nicht ganz klar ist WO das Problem genau liegt) und hoffe dass mir jemand helfen kann. Das muss nämlich vor Weihnachten gelöst werden das Problem. <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>
<p>JEDE Hilfe, jeder Tipp, jeder Vorschlag ist herzlich Willkommen!<br />
Danke bereits<br />
Gruss<br />
Samir</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167744/namespaces-in-xcode</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 02:23:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167744.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 14 Dec 2006 15:14:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Namespaces in XCode on Thu, 14 Dec 2006 15:14:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich weiß nicht ob das das richtige Forum ist. Es geht ja um C++ aber ich glaube irgendwie dass es ein Compilerproblem ist, aber sicher bin ich mir nicht. Also ggfls. bitte ins richtige Forum ziehen. <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>So, zum Problem. Also, ich habe ein großes Projekt. Ein Teil des Projekts verwendet einen eigenen namespace. Nun murkst der XCode compiler (neueste Version) rum, wenn ich meinen Code kompilieren will. Zur Info unter Windows in Visual C++ und in Codwarrior 8 WIN kompiliert der Code problemlos!</p>
<p>Hier mal eine Pseudostruktur der Namespace dateien.</p>
<p>ownvector.h<br />
ownmatrix.h<br />
ownobjects.h<br />
owncombiner.h<br />
ownmaster.h</p>
<p>Jede Datei ist im Namespace deklariert und zwar in folgender Pseudoform:</p>
<pre><code class="language-cpp">#headerdefine

//forward declaration
namespace XYZ
{
   class nameClass;
}

#include &quot;necessary.h&quot;

namespace XYZ
{
    class nameClass
    {
        [...]
    };
}
#endif
</code></pre>
<p>natürlich sind Template Klassen entsprechend deklariert.</p>
<p>Kurz zwischengeschoben, der Master ist die Klasse wo das meiste berechnet wird und die anderen Klassen sind objekte die Unteraufgaben erfüllen...quasi. <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>Manche der Klassen, benötigen jedoch den Master um einige Berechnungen durchzuführen. Ok, also hab ich mir gedacht, dass ich einfach einen Pointer des Master objekts bei Konstruktion übergebe und dieses dann genutzt wird.</p>
<pre><code class="language-cpp">namespace XYZ
{
    class className;
    //class Master;
}

#include &quot;necessary.h&quot;
//#include &quot;master.h&quot;

namespace XYZ
{ 
    class className;
    {
      void TestFunction()
      {
           m_ptr-&gt;Do();  //Error Message, Master not defined
      }
     [...]
   private:
    XYZ::Master* m_ptr;
    };
}
</code></pre>
<p>Und hier kommt das Problem auf. Der XCode Compiler sagt mir dass die Klasse &quot;Master&quot; undefiniert ist, und an der Stelle wo ich auf den Pointer zugreifen will gibts nen Kompilierungsfehler. Dürfte doch eigentlich kein Problem sein (ist es auch nicht bei den anderen Compilern) oder?</p>
<p>Ich hatte dieses Problem mal mit Codewarrior, da hat er auch wirre Errors rausgeworfen bei Verwendung des Namespaces. Das Problem war, dass ich</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
</code></pre>
<p>genutzt habe!</p>
<p>Nachdem ich stattdessen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;
</code></pre>
<p>verwendet habe, ging es tadellos. <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="😕"
    /> Versteh ich auch nicht ganz, aber naja. Aber wenn ich das in XCode mache, erhalte ich um so mehr Fehler. Argh, was ist los mit diesem Compiler? (Aber ich bin gezwungen ihn zu nutzen).</p>
<p>Nun gut, ich hoffe es wurde einigermaßen klar, was das Problem ist (obwohl es mir selber ja auch nicht ganz klar ist WO das Problem genau liegt) und hoffe dass mir jemand helfen kann. Das muss nämlich vor Weihnachten gelöst werden das Problem. <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>
<p>JEDE Hilfe, jeder Tipp, jeder Vorschlag ist herzlich Willkommen!<br />
Danke bereits<br />
Gruss<br />
Samir</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191845</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 14 Dec 2006 15:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to Namespaces in XCode on Thu, 14 Dec 2006 15:34:11 GMT]]></title><description><![CDATA[<p>So ganz werde ich aus deiner Fehlerbeschreibung nicht schlau (ein compilierbares/bzw. nicht-compilierbares Minimalbeispiel wäre besser gewesen) und von XCode habe ich noch nie etwas gehört.</p>
<p>Was mir allerdings auffällit, ist diese Zeile:</p>
<pre><code class="language-cpp">//#include &quot;master.h&quot;
</code></pre>
<p>Wenn die auskommentiert ist, kann das hier:</p>
<pre><code class="language-cpp">m_ptr-&gt;Do();
</code></pre>
<p>natürlich nicht funktionieren. Der Compiler kann schließlich nicht wissen, daß die Klasse Master eine Funktion namens Do hat.</p>
<p>Abgesehen davon sehen mir die Forward-Deklarationen in deinem Quelltext bestenfalls reichlich überflüssig aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191857</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Thu, 14 Dec 2006 15:34:11 GMT</pubDate></item><item><title><![CDATA[Reply to Namespaces in XCode on Thu, 14 Dec 2006 15:40:07 GMT]]></title><description><![CDATA[<p>Z2 schrieb:</p>
<blockquote>
<p>So ganz werde ich aus deiner Fehlerbeschreibung nicht schlau (ein<br />
compilierbares/bzw. nicht-compilierbares Minimalbeispiel wäre besser gewesen)</p>
</blockquote>
<p>genau</p>
<blockquote>
<p>und von XCode habe ich noch nie etwas gehört.</p>
</blockquote>
<p>Apple Software Entwicklugsumgebung Mac OS X (glaub ab 10.4)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191862</guid><dc:creator><![CDATA[Checker*amp*Murckser]]></dc:creator><pubDate>Thu, 14 Dec 2006 15:40:07 GMT</pubDate></item><item><title><![CDATA[Reply to Namespaces in XCode on Thu, 14 Dec 2006 16:06:43 GMT]]></title><description><![CDATA[<p>Ja das ist was zwar für den Mac aber normalerweise mit GCC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191881</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Thu, 14 Dec 2006 16:06:43 GMT</pubDate></item><item><title><![CDATA[Reply to Namespaces in XCode on Thu, 14 Dec 2006 18:17:04 GMT]]></title><description><![CDATA[<p>Danke erstmal für eure Antworten.</p>
<p>Z2 schrieb:</p>
<blockquote>
<p>So ganz werde ich aus deiner Fehlerbeschreibung nicht schlau (ein compilierbares/bzw. nicht-compilierbares Minimalbeispiel wäre besser gewesen) und von XCode habe ich noch nie etwas gehört.</p>
</blockquote>
<p>Da ich nicht weiß wo der Fehler liegt, kann ich leider auch kein Beispiel aufführen. Sonst bräuchte ich ja nicht mehr danach fragen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>Was mir allerdings auffällit, ist diese Zeile:</p>
<pre><code class="language-cpp">//#include &quot;master.h&quot;
</code></pre>
<p>Wenn die auskommentiert ist, kann das hier:</p>
<pre><code class="language-cpp">m_ptr-&gt;Do();
</code></pre>
<p>natürlich nicht funktionieren. Der Compiler kann schließlich nicht wissen, daß die Klasse Master eine Funktion namens Do hat.</p>
</blockquote>
<p>Hmm, also ich dachte, sobald sie in einem Namespace liegen ist die Forwarddeklaration ausreichend, so dass die Klasse weiß, dass es diese Master klasse im namespace gibt und definiert ist. Oder habe ich da ein falsches Verständnis von einem Namensraum? Eine Klasse die in einem Namensraum definiert wurde, sollte doch problemlos in dem selbigen Namensraum genutzt werden können oder? Siehe Signatur. <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>
<p>Aber mal davon abgesehen, auch wenn ich die Header-Datei von master.h mit reinnehme macht es keinen Unterschied. Ich erhalte die selben Fehlerbeschreibungen beim Kompilieren. Deswegen hab ichs mal ganz frei weg auskommentiert. <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="🙂"
    /> Any idea?</p>
<blockquote>
<p>Abgesehen davon sehen mir die Forward-Deklarationen in deinem Quelltext bestenfalls reichlich überflüssig aus.</p>
</blockquote>
<p>hmm, wenn ich keine Forward-Deklarationen mache, dann wissen die anderen Klassen im Namensraum doch gar nicht, dass es diese Klassen gibt (und ich erhalte einen Kompilierfehler). Also Prototypen der Klassen im Namensraum. Sollte das selbe wie Funktions-prototypen sein.</p>
<p>Verstehe ich die Namensräume vielleicht falsch? Ich habe noch nicht so oft damit gearbeitet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191947</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 14 Dec 2006 18:17:04 GMT</pubDate></item><item><title><![CDATA[Reply to Namespaces in XCode on Thu, 14 Dec 2006 17:52:29 GMT]]></title><description><![CDATA[<p>Checker&amp;Murckser schrieb:</p>
<blockquote>
<p>Apple Software Entwicklugsumgebung Mac OS X (glaub ab 10.4)</p>
</blockquote>
<p>Genau. Seit 10.4 auch für universal binary.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191950</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Thu, 14 Dec 2006 17:52:29 GMT</pubDate></item><item><title><![CDATA[Reply to Namespaces in XCode on Fri, 15 Dec 2006 07:52:06 GMT]]></title><description><![CDATA[<p>Checker&amp;Murckser schrieb:</p>
<blockquote>
<p>Apple Software Entwicklugsumgebung Mac OS X (glaub ab 10.4)</p>
</blockquote>
<p>Furchtbare Software. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1192180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1192180</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 15 Dec 2006 07:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to Namespaces in XCode on Fri, 15 Dec 2006 13:21:29 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Checker&amp;Murckser schrieb:</p>
<blockquote>
<p>Apple Software Entwicklugsumgebung Mac OS X (glaub ab 10.4)</p>
</blockquote>
<p>Furchtbare Software. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
</blockquote>
<p>LOL, recht hast du! <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="🙂"
    /> Aber einige der IDE eigenschaften sind schon sehr fein, das kann ich nicht abstreiten. Aber was soll ich machen, die Leute für den MAC wollen auch ihren Anteil. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1192461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1192461</guid><dc:creator><![CDATA[Katachi]]></dc:creator><pubDate>Fri, 15 Dec 2006 13:21:29 GMT</pubDate></item></channel></rss>