<?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[wx Gui-Programmierung Link Error]]></title><description><![CDATA[<p>Hello again <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
ich traue mich nun mal an die GUI-Programmierung ran, stoße jedoch gleich auf ein paar grundlegende Probleme:</p>
<p>1. Ich kenne mich so grob mit Klassen aus, aber ich weiß nicht was es mit abgeleiteten Klassen auf sich hat und was der folgende Befehl für einen Sinn hat:</p>
<pre><code>class MyFrame [b]: public wxFrame[/b]
</code></pre>
<p>Was genau macht das fettgedruckte?? Und was hat das mit abgeleiteten Klassen zu tun und was genau sind denn abgeleitete Klassen <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>
<p>2. Mein erstes Exemplar sieht aus wie folgt:</p>
<pre><code>//HalloWelt.cpp

#include &quot;include/wx/wx.h&quot;

class HalloWeltApp : public wxApp
{
  public: virtual bool OnInit();
};

class BasicFrame : public wxFrame
{
  public:
    BasicFrame( const wxChar *title,
	      int xpos, int ypos,
	      int width, int height);
    ~BasicFrame();
};

IMPLEMENT_APP(HalloWeltApp)

bool HalloWeltApp::OnInit()
{
  BasicFrame *frame = new BasicFrame(wxT(&quot;Hallo Welt&quot;), 50, 50, 450, 300);
  frame-&gt;Show(TRUE);
  SetTopWindow(frame);
  return TRUE;
}

BasicFrame::BasicFrame (const wxChar *title, int xpos, int ypos, int width, int height) : wxFrame ((wxFrame *) NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height))
{
}

BasicFrame::~BasicFrame()
{
}
</code></pre>
<p>Der Programmcode selbst stimmt! Jedoch bekomme ich folgende Fehlermeldungen:</p>
<blockquote>
<p>[Linker error] undefined reference to <code>wxAppConsole::CheckBuildOptions(char const*, char const*)' \[Linker error\] undefined reference to</code>wxEntry(HINSTANCE__<em>, HINSTANCE__</em>, char*, int)'<br />
[Linker error] undefined reference to <code>wxFrameNameStr' \[Linker error\] undefined reference to</code>wxFrame::~wxFrame()'<br />
... und so weiter</p>
</blockquote>
<p>Woran könnte das liegen? Der Pfad stimmt so: &quot;include/wx/wx.h&quot;<br />
Brauche ich da etwa noch andere Headerdateien oder wie oder was?</p>
<p>Viele Grüße<br />
Gapa</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215468/wx-gui-programmierung-link-error</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 07:53:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215468.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Jun 2008 12:50:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 12:50:58 GMT]]></title><description><![CDATA[<p>Hello again <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
ich traue mich nun mal an die GUI-Programmierung ran, stoße jedoch gleich auf ein paar grundlegende Probleme:</p>
<p>1. Ich kenne mich so grob mit Klassen aus, aber ich weiß nicht was es mit abgeleiteten Klassen auf sich hat und was der folgende Befehl für einen Sinn hat:</p>
<pre><code>class MyFrame [b]: public wxFrame[/b]
</code></pre>
<p>Was genau macht das fettgedruckte?? Und was hat das mit abgeleiteten Klassen zu tun und was genau sind denn abgeleitete Klassen <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>
<p>2. Mein erstes Exemplar sieht aus wie folgt:</p>
<pre><code>//HalloWelt.cpp

#include &quot;include/wx/wx.h&quot;

class HalloWeltApp : public wxApp
{
  public: virtual bool OnInit();
};

class BasicFrame : public wxFrame
{
  public:
    BasicFrame( const wxChar *title,
	      int xpos, int ypos,
	      int width, int height);
    ~BasicFrame();
};

IMPLEMENT_APP(HalloWeltApp)

bool HalloWeltApp::OnInit()
{
  BasicFrame *frame = new BasicFrame(wxT(&quot;Hallo Welt&quot;), 50, 50, 450, 300);
  frame-&gt;Show(TRUE);
  SetTopWindow(frame);
  return TRUE;
}

BasicFrame::BasicFrame (const wxChar *title, int xpos, int ypos, int width, int height) : wxFrame ((wxFrame *) NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height))
{
}

BasicFrame::~BasicFrame()
{
}
</code></pre>
<p>Der Programmcode selbst stimmt! Jedoch bekomme ich folgende Fehlermeldungen:</p>
<blockquote>
<p>[Linker error] undefined reference to <code>wxAppConsole::CheckBuildOptions(char const*, char const*)' \[Linker error\] undefined reference to</code>wxEntry(HINSTANCE__<em>, HINSTANCE__</em>, char*, int)'<br />
[Linker error] undefined reference to <code>wxFrameNameStr' \[Linker error\] undefined reference to</code>wxFrame::~wxFrame()'<br />
... und so weiter</p>
</blockquote>
<p>Woran könnte das liegen? Der Pfad stimmt so: &quot;include/wx/wx.h&quot;<br />
Brauche ich da etwa noch andere Headerdateien oder wie oder was?</p>
<p>Viele Grüße<br />
Gapa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527014</guid><dc:creator><![CDATA[Gapa]]></dc:creator><pubDate>Wed, 11 Jun 2008 12:50:58 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 13:03:53 GMT]]></title><description><![CDATA[<p>Gapa schrieb:</p>
<blockquote>
<p>Hello again <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
ich traue mich nun mal an die GUI-Programmierung ran, stoße jedoch gleich auf ein paar grundlegende Probleme:</p>
<p>1. Ich kenne mich so grob mit Klassen aus, aber ich weiß nicht was es mit abgeleiteten Klassen auf sich hat und was der folgende Befehl für einen Sinn hat:</p>
<pre><code>class MyFrame [b]: public wxFrame[/b]
</code></pre>
</blockquote>
<p>Ich empfehle dringend, die GUI-Programmierung zurückzustellen, bevor du dich eingehender mit Ableitung beschäftigt hast. Die meisten GUIs machen von dieser Technik ausgiebig Gebrauch (nicht immer zu recht) - gute Kenntnisse zu diesem Thema sind daher unabdingbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527028</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 11 Jun 2008 13:03:53 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 13:11:18 GMT]]></title><description><![CDATA[<p>und evtl Kenntnisse, was ein Linker ist und wozu man ihn benötigt??<br />
:schland:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527035</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Wed, 11 Jun 2008 13:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 13:20:20 GMT]]></title><description><![CDATA[<p>Ok erst mal Danke dafür dass überhaupt geantwortet wurde...</p>
<p>Ich finde es trotzdem schade dass ich nicht mal auf Frage 2 eine gescheite Antwort bekommen habe. Ich werde mich auf jeden Fall noch ausführlicher mit Ableitungen beschäftigen, trotzdem wäre hier eine grobe Einführung angebracht!<br />
Ich habe jetzt schon oft genug hier im Forum gelesen, dass man auch jaaa erst mit Der GUI-Programmierung anfangen sollte, sobald man auch jaaa alles andere verstanden hat. Ich halte von dieser These eigentlich gar nichts!<br />
Man lernt eine Sprache am besten, wenn man sich größere und auch spannendere bzw. interessante Scripts anschaut, sie nachprogrammiert und mit der Zeit immer besser die einzelnen Codeblöcke verstehen lernt.<br />
Bei C++ ist es sicher sinnvoll, zuerst mal was über Variablen, Zeiger, Funktionen, Klassen etc. zu wissen, jedoch sollte man es auch nicht ganz so streng sehen...</p>
<p>Also nochmal zu den Ableitungen bzw zu den Linker-fehlern:<br />
Was genau (oder grob) machen Ableitungen?<br />
Und wieso meldet sich hier der Linker obwohl alle Pfade stimmen?</p>
<p>Grüße<br />
Gapa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527040</guid><dc:creator><![CDATA[Gapa]]></dc:creator><pubDate>Wed, 11 Jun 2008 13:20:20 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 13:31:37 GMT]]></title><description><![CDATA[<p>Das hier</p>
<pre><code class="language-cpp">class MyFrame : public wxFrame
</code></pre>
<p>heißt nichts anderes, als dass die Klasse MyFrame von der Klasse wxFrame erbt. Also<br />
das du alles was in der Klasse wxFrame als protected deklariert ist, kannst du auch in der Klasse MyFrame nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527056</guid><dc:creator><![CDATA[EEK@work]]></dc:creator><pubDate>Wed, 11 Jun 2008 13:31:37 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 13:50:25 GMT]]></title><description><![CDATA[<p>Ah super Vielen DANK!!!</p>
<p>D.h. auf gut deutsch, dass ich mit dem Befehl einfach die Klasse wxFrame in die Klasse MyFrame includiere, oder?</p>
<p>Aber wieso benutzt man dann überhaupt eine Klasse MyFrame? Kann man da nicht einfach die wxFrame-Klasse benutzen?</p>
<p>Und wieso kommt dieser Linker-Error? Habe ich wxWidgets nicht korrekt &quot;installiert&quot; ? Muss man da noch etwas anderes tun, als einfach eine cpp - Datei zu erstellen und diese mit der Headerdatei wx.h verlinken?</p>
<p>Grüße<br />
Gapa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527074</guid><dc:creator><![CDATA[Gapa]]></dc:creator><pubDate>Wed, 11 Jun 2008 13:50:25 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 14:03:46 GMT]]></title><description><![CDATA[<p>Gapa schrieb:</p>
<blockquote>
<p>Ah super Vielen DANK!!!</p>
<p>D.h. auf gut deutsch, dass ich mit dem Befehl einfach die Klasse wxFrame in die Klasse MyFrame includiere, oder?</p>
</blockquote>
<p>Naja, vielleicht verstehe ich dich ja auch falsch, aber includiert wird wxFrame nicht in MyFrame.</p>
<p>Gapa schrieb:</p>
<blockquote>
<p>Aber wieso benutzt man dann überhaupt eine Klasse MyFrame? Kann man da nicht einfach die wxFrame-Klasse benutzen?</p>
</blockquote>
<p>Stell dir mal vor du hast zwei (oder mehrere) klassen in denen du die gleiche oder <strong>fast</strong> die gleiche methode brauchst. Dann müsstest du dir mehrere klassen schreiben, die alle fast das gleiche machen. Durch die vererbung schreibst du eine klasse und &quot;vererbst&quot; die methode, die du öfters brauchst einfach an alle anderen klassen in denen du sie auch nutzen willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527085</guid><dc:creator><![CDATA[EEK@work]]></dc:creator><pubDate>Wed, 11 Jun 2008 14:03:46 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 14:04:36 GMT]]></title><description><![CDATA[<p>Gapa schrieb:</p>
<blockquote>
<p>Ich finde es trotzdem schade dass ich nicht mal auf Frage 2 eine gescheite Antwort bekommen habe.</p>
</blockquote>
<p>Gab es zwar, aber naja. Wenn jemand weiss, was es mit dem Linker auf sich hat, dann ist die Fehlermeldung klipp und klar. Aber du willst ja nicht lernen, was ein Linker ist <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>Gapa schrieb:</p>
<blockquote>
<p>Ich werde mich auf jeden Fall noch ausführlicher mit Ableitungen beschäftigen, trotzdem wäre hier eine grobe Einführung angebracht!</p>
</blockquote>
<p>Das Forum bietet hilfe auf freiwilliger Basis. Angebracht ist also überhaupt nichts und für eine Einführung ist das Forum sowieso nicht da. Dafür hat man Bücher und/oder Tutorials.</p>
<p>Gapa schrieb:</p>
<blockquote>
<p>Ich habe jetzt schon oft genug hier im Forum gelesen, dass man auch jaaa erst mit Der GUI-Programmierung anfangen sollte, sobald man auch jaaa alles andere verstanden hat. Ich halte von dieser These eigentlich gar nichts!<br />
Man lernt eine Sprache am besten, wenn man sich größere und auch spannendere bzw. interessante Scripts anschaut, sie nachprogrammiert und mit der Zeit immer besser die einzelnen Codeblöcke verstehen lernt.<br />
Bei C++ ist es sicher sinnvoll, zuerst mal was über Variablen, Zeiger, Funktionen, Klassen etc. zu wissen, jedoch sollte man es auch nicht ganz so streng sehen...</p>
</blockquote>
<p>Genau, du, welcher keine Ahnung von C++ hat, weisst, wie man C++ lernt. <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>Gapa schrieb:</p>
<blockquote>
<p>D.h. auf gut deutsch, dass ich mit dem Befehl einfach die Klasse wxFrame in die Klasse MyFrame includiere, oder?</p>
</blockquote>
<p>Nicht wirklich. Die Klasse MyFrame ist dann auch eine Klasse wxFrame. Man nennt deshalb die Ableitung auch oft eine is-a Beziehung. Das was du beschreibst ist eher eine has-a Beziehung. Also wenn du ein wxFrame Objekt in deiner Klasse hast. Ich empfehle ein C++ Buch, welches dir diesen Unterschied erklärt und zwar am besten ausführlich und gründlich <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>Gapa schrieb:</p>
<blockquote>
<p>Aber wieso benutzt man dann überhaupt eine Klasse MyFrame? Kann man da nicht einfach die wxFrame-Klasse benutzen?</p>
</blockquote>
<p>Kann man! Es kommt halt drauf an was man möchte. Das lernt man dann zum Beispiel auch mit C++ Bücher, welche einem zuerst die Sprache vermitteln.</p>
<p>Gapa schrieb:</p>
<blockquote>
<p>Und wieso kommt dieser Linker-Error? Habe ich wxWidgets nicht korrekt &quot;installiert&quot; ? Muss man da noch etwas anderes tun, als einfach eine cpp - Datei zu erstellen und diese mit der Headerdatei wx.h verlinken?</p>
</blockquote>
<p>Es gibt nicht nur Header files. Es gibt auch DLLs, bzw. Libs, welche halt gelinkt werden müssen. Hilfe dazu findest du übrigens auch bei wxWidgets, im Forum und in der Wiki. Ist eigentlich sehr gut beschrieben, aber man muss natürlich etwas Ahnung von C++ haben ...</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527087</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 11 Jun 2008 14:04:36 GMT</pubDate></item><item><title><![CDATA[Reply to wx Gui-Programmierung Link Error on Wed, 11 Jun 2008 14:05:23 GMT]]></title><description><![CDATA[<p>Gapa schrieb:</p>
<blockquote>
<p>D.h. auf gut deutsch, dass ich [...] includiere, oder?</p>
</blockquote>
<p><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>Gapa schrieb:</p>
<blockquote>
<p>Aber wieso benutzt man dann überhaupt eine Klasse MyFrame? Kann man da nicht einfach die wxFrame-Klasse benutzen?</p>
</blockquote>
<p>Wenn du eine Klasse ableitest, kannst du der abgeleiteten Klasse noch zusätzliche Membervariablen und -funktionen geben. Das heisst, sie ist eine Spezialisierung der Basisklasse.</p>
<p>Gapa schrieb:</p>
<blockquote>
<p>Und wieso kommt dieser Linker-Error? Habe ich wxWidgets nicht korrekt &quot;installiert&quot; ? Muss man da noch etwas anderes tun, als einfach eine cpp - Datei zu erstellen und diese mit der Headerdatei wx.h verlinken?</p>
</blockquote>
<p>Du musst bei den Linker-Optionen deiner IDE angeben, welche Bibliotheken du noch zusätzlich einbindest. Diese sollten in einer Dokumentation beschrieben sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527088</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 11 Jun 2008 14:05:23 GMT</pubDate></item></channel></rss>