<?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[[Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen]]></title><description><![CDATA[<p>Ich habe noch nicht allzu viel Erfahrung mit C++, daher sei es mir bitte verziehen, wenn ich in folgendem Problem nur zu blöd war.</p>
<p>Es geht hierbei um folgenden Codeteil, den ich hier auf das Notwendige reduziere:</p>
<p>main.cpp</p>
<pre><code class="language-cpp">// CODE
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

#include &quot;scene.h&quot;     // Scene-Klasse
// CODE

bool isRunning = true;  // Bool für laufenden Prozess

// CODE

Scene scene(isRunning);

// CODE
</code></pre>
<p>scene.h</p>
<pre><code class="language-cpp">// CODE
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

class Scene
{
    string title_;
    bool isRunning_;
    bool test_;

    public:
        Scene(bool&amp; isRunning);
        //bool menu();

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

Scene::Scene(bool&amp; isRunning)
{
    cout &lt;&lt; &quot;Object scene creation successfull!&quot; &lt;&lt; endl;
}
</code></pre>
<p>Wenn ich das Programm nun mit G++ kompiliere, erhalte ich die folgende Fehlermeldung:</p>
<blockquote>
<p>/tmp/cc3QCkkq.o: In function <code>main': main.cpp:(.text+0x71): undefined reference to</code>Scene::Scene(bool&amp;)'<br />
collect2: ld returned 1 exit status</p>
</blockquote>
<p>Es scheint, als würde die Datei scene.cpp nicht mit kompiliert werden, obwohl ich dieses Programmierprinzip im Internet tausendfach gefunden habe. Nie hat es bei mir funktioniert.</p>
<p>Hat vielleicht jemand eine Ahnung oder zumindest eine Idee, worin der Fehler liegen könnte und wie man diesen lösen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/287142/gelöst-quot-undefined-reference-quot-bei-basis-klassendefinitionen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 17:17:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287142.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 May 2011 18:08:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 19:10:39 GMT]]></title><description><![CDATA[<p>Ich habe noch nicht allzu viel Erfahrung mit C++, daher sei es mir bitte verziehen, wenn ich in folgendem Problem nur zu blöd war.</p>
<p>Es geht hierbei um folgenden Codeteil, den ich hier auf das Notwendige reduziere:</p>
<p>main.cpp</p>
<pre><code class="language-cpp">// CODE
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

#include &quot;scene.h&quot;     // Scene-Klasse
// CODE

bool isRunning = true;  // Bool für laufenden Prozess

// CODE

Scene scene(isRunning);

// CODE
</code></pre>
<p>scene.h</p>
<pre><code class="language-cpp">// CODE
#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

class Scene
{
    string title_;
    bool isRunning_;
    bool test_;

    public:
        Scene(bool&amp; isRunning);
        //bool menu();

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

Scene::Scene(bool&amp; isRunning)
{
    cout &lt;&lt; &quot;Object scene creation successfull!&quot; &lt;&lt; endl;
}
</code></pre>
<p>Wenn ich das Programm nun mit G++ kompiliere, erhalte ich die folgende Fehlermeldung:</p>
<blockquote>
<p>/tmp/cc3QCkkq.o: In function <code>main': main.cpp:(.text+0x71): undefined reference to</code>Scene::Scene(bool&amp;)'<br />
collect2: ld returned 1 exit status</p>
</blockquote>
<p>Es scheint, als würde die Datei scene.cpp nicht mit kompiliert werden, obwohl ich dieses Programmierprinzip im Internet tausendfach gefunden habe. Nie hat es bei mir funktioniert.</p>
<p>Hat vielleicht jemand eine Ahnung oder zumindest eine Idee, worin der Fehler liegen könnte und wie man diesen lösen könnte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067548</guid><dc:creator><![CDATA[Ki]]></dc:creator><pubDate>Mon, 23 May 2011 19:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 18:11:55 GMT]]></title><description><![CDATA[<p>Compilierst du direkt von der Kommandozeile? Wenn ja, mit welchem Befehl?<br />
(beim Compilieren bzw. beim Linken mußt du alle Dateien angeben, die mit einbezogen werden sollen - was dort fehlt, wird nicht gefunden)</p>
<p>PS: Was für einen Sinn hat es, den Parameter als Referenz zu übergeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067551</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 May 2011 18:11:55 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 18:30:37 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>PS: Was für einen Sinn hat es, den Parameter als Referenz zu übergeben?</p>
</blockquote>
<p>Da sie nicht <code>const</code> ist hat er entweder keine Ahnung oder er verändert die innerhalb des Konstruktors.</p>
<p>EDIT: In Headern solltest du nie &quot; <code>using namespace std;</code> &quot; schreiben. Damit zwingst du den Nutzer deiner Bibliothek, keine Bezeichner aus dem Namensbereich <code>std</code> nutzen zu dürfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067557</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 23 May 2011 18:30:37 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 18:43:27 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Compilierst du direkt von der Kommandozeile? Wenn ja, mit welchem Befehl?<br />
(beim Compilieren bzw. beim Linken mußt du alle Dateien angeben, die mit einbezogen werden sollen - was dort fehlt, wird nicht gefunden)</p>
</blockquote>
<p>Ich kompiliere mit folgender Zeile im BASH-Terminal (Ubuntu):</p>
<blockquote>
<p>g++ -o [Dateiname] main.cpp -lSDLmain -lSDL -lGL -lSDL_image</p>
</blockquote>
<p>Laut der Tutorials zu dem Thema muss die .cpp nicht mit angegeben werden. Sollte dies falsch sein, bleibt für mich in erster Linie die Frage, wie ich die Datei per g++ einbeziehe.</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>PS: Was für einen Sinn hat es, den Parameter als Referenz zu übergeben?</p>
</blockquote>
<p>In diesem Fall gar keinen. Ich habe den Parameter nur vorübergehend zu Testzwecken angegeben.</p>
<p>EOutOfResources schrieb:</p>
<blockquote>
<p>EDIT: In Headern solltest du nie &quot; <code>using namespace std;</code> &quot; schreiben. Damit zwingst du den Nutzer deiner Bibliothek, keine Bezeichner aus dem Namensbereich <code>std</code> nutzen zu dürfen.</p>
</blockquote>
<p>Danke für den Hinweis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067571</guid><dc:creator><![CDATA[Ki]]></dc:creator><pubDate>Mon, 23 May 2011 18:43:27 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 18:48:24 GMT]]></title><description><![CDATA[<p>Ki schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Compilierst du direkt von der Kommandozeile? Wenn ja, mit welchem Befehl?<br />
(beim Compilieren bzw. beim Linken mußt du alle Dateien angeben, die mit einbezogen werden sollen - was dort fehlt, wird nicht gefunden)</p>
</blockquote>
<p>Ich kompiliere mit folgender Zeile im BASH-Terminal (Ubuntu):</p>
<blockquote>
<p>g++ -o [Dateiname] main.cpp -lSDLmain -lSDL -lGL -lSDL_image</p>
</blockquote>
<p>Laut der Tutorials zu dem Thema muss die .cpp nicht mit angegeben werden. Sollte dies falsch sein, bleibt für mich in erster Linie die Frage, wie ich die Datei per g++ einbeziehe.</p>
</blockquote>
<p>Die solltest du genau hinter der main.cpp mit einfügen. Woher soll denn der Compiler sonst wissen, welche Dateien nun zu deinem Programm gehören sollen und welche nur zufällig dort herumliegen?</p>
<p>(und die meisten Experten verwenden eine IDE, die diese Aufrufe für dich zusammenstellen - oder Makefiles)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067577</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 May 2011 18:48:24 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 18:59:30 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Die solltest du genau hinter der main.cpp mit einfügen. Woher soll denn der Compiler sonst wissen, welche Dateien nun zu deinem Programm gehören sollen und welche nur zufällig dort herumliegen?</p>
</blockquote>
<p>Hatte ich erwähnt, dass ich speziell mit C++ noch sehr wenig Erfahrung habe? <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>Meinst du etwa, ich solle beim Kompilieren einfach folgende Zeile verwenden?</p>
<blockquote>
<p>g++ -o [Dateiname] main.cpp scene.cpp -lSDLmain -lSDL -lGL -lSDL_image</p>
</blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>(und die meisten Experten verwenden eine IDE, die diese Aufrufe für dich zusammenstellen - oder Makefiles)</p>
</blockquote>
<p>Derzeit ist mir gedit noch lieber als jede IDE. Aber mal sehen, wohin es mich noch trieben wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067586</guid><dc:creator><![CDATA[Ki]]></dc:creator><pubDate>Mon, 23 May 2011 18:59:30 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 19:05:44 GMT]]></title><description><![CDATA[<p>Ki schrieb:</p>
<blockquote>
<p>Meinst du etwa, ich solle beim Kompilieren einfach folgende Zeile verwenden?</p>
<blockquote>
<p>g++ -o [Dateiname] main.cpp scene.cpp -lSDLmain -lSDL -lGL -lSDL_image</p>
</blockquote>
</blockquote>
<p>Probier's doch einfach aus, aber so sollte es stimmen.</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>(und die meisten Experten verwenden eine IDE, die diese Aufrufe für dich zusammenstellen - oder Makefiles)</p>
</blockquote>
<p>Derzeit ist mir gedit noch lieber als jede IDE. Aber mal sehen, wohin es mich noch trieben wird.</p>
</blockquote>
<p>Dann solltest du dich auf jeden Fall mit Makefiles beschäftigen <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="😉"
    /> Spätestens wenn du größere Projekte hast, verknotest du dir die Finger bei den Compiler-Aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067592</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 May 2011 19:05:44 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Mon, 23 May 2011 19:10:17 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Probier's doch einfach aus, aber so sollte es stimmen.</p>
</blockquote>
<p>Fehlerfrei kompiliert wird es ja, ich hoffe nur, dass es auch fehlerfrei ausgeführt wird. <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>CStoll schrieb:</p>
<blockquote>
<p>Dann solltest du dich auf jeden Fall mit Makefiles beschäftigen <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="😉"
    /> Spätestens wenn du größere Projekte hast, verknotest du dir die Finger bei den Compiler-Aufrufen.</p>
</blockquote>
<p>Das wäre ohnehin meine nächste Station gewesen.</p>
<p>Danke für deine Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067594</guid><dc:creator><![CDATA[Ki]]></dc:creator><pubDate>Mon, 23 May 2011 19:10:17 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] &amp;quot;undefined reference&amp;quot; bei Basis-Klassendefinitionen on Tue, 24 May 2011 08:05:08 GMT]]></title><description><![CDATA[<p>Ki schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Probier's doch einfach aus, aber so sollte es stimmen.</p>
</blockquote>
<p>Fehlerfrei kompiliert wird es ja, ich hoffe nur, dass es auch fehlerfrei ausgeführt wird. <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>
</blockquote>
<p>Da kannst du genauso wie beim kompilieren Sicherheit erlangen: Probiers aus. Notfalls mit dem Debugger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2067752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2067752</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 24 May 2011 08:05:08 GMT</pubDate></item></channel></rss>