<?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[Problem beim kompilieren]]></title><description><![CDATA[<p>Hallo, ich habe ein kleines Problem beim Übersetzen meines Codes und weiß nicht, wo das Problem liegt. Im Bereich C++ bin ich noch ziemlich unerfahren, weshalb ich es einfach nicht schaffe, diesen Fehler zu identifizieren.</p>
<p>Ich bekomme folgende Fehlermeldungen</p>
<p>Fehler 26 error LNK2005: &quot;float * green&quot; (?green@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 27 error LNK2005: &quot;float * red&quot; (?red@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 28 error LNK2005: &quot;float * blue&quot; (?blue@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 29 error LNK2005: &quot;float * black&quot; (?black@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 30 error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.</p>
<p>Also ich habe folgenden Code vorliegen</p>
<p>Cube.h</p>
<pre><code class="language-cpp">#pragma once

#include &quot;Stone.h&quot;

const int cubesize = 3;

class Cube{
	public:
		Stone cube[cubesize]; //[cubesize][cubesize];
		Cube();
	private:

};
</code></pre>
<p>Cube.cpp</p>
<pre><code class="language-cpp">#include &quot;Cube.h&quot;

	Cube :: Cube()
	{
		for(int x = 0; x &lt; cubesize; x++)
		{
			cube[x] = Stone(Side::Front, Edge::ELeft, Edge::ETop);
			printf(&quot;%f&quot;,cube[x].color1);
		}
	}
</code></pre>
<p>Stone.h</p>
<pre><code class="language-cpp">#pragma once

#include &lt;algorithm&gt;

using namespace std;

enum Side{
	Front, Left, Back, Right, Top, Bottom
};

enum Edge{
	ELeft, ETop, ERight, EBottom, Non
};

float yellow[3] = { 1.0f, 1.0f, 0.0f };
float orange[3] = { 1.0f, 0.5f, 0.0f };
float green[3] = { 0.0f, 1.0f, 0.0f };
float red[3] = { 1.0f, 0.0f, 0.0f };
float blue[3] = { 0.0f, 0.0f, 1.0f };
float black[3] = { 0.0f, 0.0f, 0.0f };

class Stone{
	public:
		float color1[3], color2[3], color3[3];
		Side side;
		Edge edge1, edge2;
		Stone();
		Stone(Side side, Edge edge1, Edge edge2);
	private: 
		void getSideColor(Side side, Edge edge1, Edge edge2);
		void getEdgeColor(Side side, Edge edge1, Edge edge2);
		void getFrontCornerColors(Edge edge1, Edge edge2);
};
</code></pre>
<p>und</p>
<p>Stone.cpp</p>
<pre><code class="language-cpp">#include &quot;Stone.h&quot;;

Stone::Stone(){  }

Stone :: Stone(Side side, Edge edge1, Edge edge2){
	Stone::side = side;
	Stone::edge1 = edge1;
	Stone::edge2 = edge2;

	getSideColor(side,edge1,edge2);
}

...
</code></pre>
<p>in meiner Main erzeuge ich ein Objekt der Klasse Cube</p>
<pre><code class="language-cpp">Cube cube = Cube();
</code></pre>
<p>Hat jemand ne Ahnung, was genau ich hier beachten muss?</p>
<p>Wäre super, wenn mir hier jemand weiterhelfen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307273/problem-beim-kompilieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 20:50:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307273.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Aug 2012 23:25:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim kompilieren on Tue, 21 Aug 2012 23:25:29 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein kleines Problem beim Übersetzen meines Codes und weiß nicht, wo das Problem liegt. Im Bereich C++ bin ich noch ziemlich unerfahren, weshalb ich es einfach nicht schaffe, diesen Fehler zu identifizieren.</p>
<p>Ich bekomme folgende Fehlermeldungen</p>
<p>Fehler 26 error LNK2005: &quot;float * green&quot; (?green@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 27 error LNK2005: &quot;float * red&quot; (?red@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 28 error LNK2005: &quot;float * blue&quot; (?blue@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 29 error LNK2005: &quot;float * black&quot; (?black@@3PAMA) ist bereits in Cube.obj definiert.<br />
Fehler 30 error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.</p>
<p>Also ich habe folgenden Code vorliegen</p>
<p>Cube.h</p>
<pre><code class="language-cpp">#pragma once

#include &quot;Stone.h&quot;

const int cubesize = 3;

class Cube{
	public:
		Stone cube[cubesize]; //[cubesize][cubesize];
		Cube();
	private:

};
</code></pre>
<p>Cube.cpp</p>
<pre><code class="language-cpp">#include &quot;Cube.h&quot;

	Cube :: Cube()
	{
		for(int x = 0; x &lt; cubesize; x++)
		{
			cube[x] = Stone(Side::Front, Edge::ELeft, Edge::ETop);
			printf(&quot;%f&quot;,cube[x].color1);
		}
	}
</code></pre>
<p>Stone.h</p>
<pre><code class="language-cpp">#pragma once

#include &lt;algorithm&gt;

using namespace std;

enum Side{
	Front, Left, Back, Right, Top, Bottom
};

enum Edge{
	ELeft, ETop, ERight, EBottom, Non
};

float yellow[3] = { 1.0f, 1.0f, 0.0f };
float orange[3] = { 1.0f, 0.5f, 0.0f };
float green[3] = { 0.0f, 1.0f, 0.0f };
float red[3] = { 1.0f, 0.0f, 0.0f };
float blue[3] = { 0.0f, 0.0f, 1.0f };
float black[3] = { 0.0f, 0.0f, 0.0f };

class Stone{
	public:
		float color1[3], color2[3], color3[3];
		Side side;
		Edge edge1, edge2;
		Stone();
		Stone(Side side, Edge edge1, Edge edge2);
	private: 
		void getSideColor(Side side, Edge edge1, Edge edge2);
		void getEdgeColor(Side side, Edge edge1, Edge edge2);
		void getFrontCornerColors(Edge edge1, Edge edge2);
};
</code></pre>
<p>und</p>
<p>Stone.cpp</p>
<pre><code class="language-cpp">#include &quot;Stone.h&quot;;

Stone::Stone(){  }

Stone :: Stone(Side side, Edge edge1, Edge edge2){
	Stone::side = side;
	Stone::edge1 = edge1;
	Stone::edge2 = edge2;

	getSideColor(side,edge1,edge2);
}

...
</code></pre>
<p>in meiner Main erzeuge ich ein Objekt der Klasse Cube</p>
<pre><code class="language-cpp">Cube cube = Cube();
</code></pre>
<p>Hat jemand ne Ahnung, was genau ich hier beachten muss?</p>
<p>Wäre super, wenn mir hier jemand weiterhelfen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244259</guid><dc:creator><![CDATA[Goldfish]]></dc:creator><pubDate>Tue, 21 Aug 2012 23:25:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim kompilieren on Wed, 22 Aug 2012 06:11:07 GMT]]></title><description><![CDATA[<p>Dein green, red, blue etc. sollte wohl const sein!? So jedenfalls definierst du die Variablen in jedem .cpp File das Stone.h inkludiert neu. Mit const hätten sie zumindest internal linkage. Wenn const nicht geht, dann schau dir mal an, was das Schlüsselwörtchen extern für dich tun kann... <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>
<p>Btw: using namespace in einem Header ist böse...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244281</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 22 Aug 2012 06:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim kompilieren on Wed, 22 Aug 2012 08:15:53 GMT]]></title><description><![CDATA[<p>BTW: falsches Forum, hier ist C++/CLI, nicht C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244310</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 22 Aug 2012 08:15:53 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim kompilieren on Wed, 22 Aug 2012 08:30:03 GMT]]></title><description><![CDATA[<blockquote>
<p>BTW: falsches Forum, hier ist C++/CLI, nicht C++.</p>
</blockquote>
<p>ich hab keine Ahnung, wo der Unterschied liegt ^^°</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6496">@dot</a>:<br />
Danke, die Variablen als Konstanten festzulegen hat funktioniert.<br />
Bisher sind mir die Eigenheiten von C++ noch nciht ganz vertraut und auch, wann genau man einen Header und wann man doch lieber eine ganze Klasse schreiben sollte, hat sich mir noch nicht so wirklich erschlossen. Dafür fehlt mir hier einfach noch die Erfahrung.</p>
<p>Aber danke soweit in jedem Falle.<sup>-</sup></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244317</guid><dc:creator><![CDATA[Goldfish]]></dc:creator><pubDate>Wed, 22 Aug 2012 08:30:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim kompilieren on Wed, 22 Aug 2012 09:00:14 GMT]]></title><description><![CDATA[<p>Goldfish schrieb:</p>
<blockquote>
<p>[...] auch, wann genau man einen Header und wann man doch lieber eine ganze Klasse schreiben sollte, hat sich mir noch nicht so wirklich erschlossen.</p>
</blockquote>
<p>Was ist eine <em>ganze</em> Klasse? Gibt's <em>halbe</em>? Wodurch schließt eine <em>ganze</em> Klasse einen Header aus? Du machst doch selbst:</p>
<p>Goldfisch schrieb:</p>
<blockquote>
<p>Cube.h</p>
<pre><code class="language-cpp">class Cube { /* ... */
</code></pre>
</blockquote>
<p>?</p>
<p>Apropo Würfel...</p>
<p>Goldfish schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class Cube{
    public:
        Stone cube[cubesize]; //[cubesize][cubesize];
        Cube();
    private:
};
</code></pre>
</blockquote>
<p>Schlag' mal <em>Datenkapselung</em> nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244334</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 22 Aug 2012 09:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim kompilieren on Wed, 22 Aug 2012 09:07:46 GMT]]></title><description><![CDATA[<p>Goldfish schrieb:</p>
<blockquote>
<blockquote>
<p>BTW: falsches Forum, hier ist C++/CLI, nicht C++.</p>
</blockquote>
<p>ich hab keine Ahnung, wo der Unterschied liegt ^^°</p>
</blockquote>
<p>Ich weiss. Schlags nach. <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/2244339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244339</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 22 Aug 2012 09:07:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim kompilieren on Thu, 23 Aug 2012 07:08:34 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/u18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/f58" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/f15" rel="nofollow">C++ (auch C++0x und C++11)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244631</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 23 Aug 2012 07:08:34 GMT</pubDate></item></channel></rss>