wxWidgets installieren



  • ok, wo krieg ich den her?


  • Mod

    http://mingw.org/

    bzw. gibts auch den RC2 mit MinGW afaik.



  • mal vorweg, muss ich einen bestimmten gcc runterladen oder ist das egal?


  • Mod

    3.* ist glaub ich der aktuelle stable zweig.
    Ich nutze den zumindest.

    Aber evtl. ist es für dich wirklich besser erstmal mit MSVC Express zu starten, wxPack liegt sogar ein Installer für diese IDE für wxWidgets dabei.
    Den Compiler scheinst du ja schon auf dem Rechner zu haben.



  • jetzt hab ich mir den gcc schon runtergeladen und auf GNU gcc compiler gestellt
    und unter Global Compiler Settings den Pfad zu \gcc\include und unter Linker zu \gcc\lib hinzugefügt

    Diesen Microsoft Compiler möcht ich ungern nutzen. mit dem hab ich ganz am Anfang schon gearbeitet und war froh , das ich auf umgestiegen bin


  • Mod

    Ja dann versuchs erstmal mit GCC & C::B.
    btw. hast du in dem Verzeichnis wo die Projekte liegen volle Rechte?



  • Jop, ich hab die vollen Rechte
    Ausgabe vom Build Log:

    "Projektname"uses an invalid compiler. Skipping...
    

    😕


  • Mod

    Dann musst du den Compiler noch einrichten...



  • *heul* wie?


  • Mod

    Keine Ahnung.
    Findet C::B den nicht?
    Schau mal unter Compiler.
    Evtl. musst du den richtigen Pfad noch einrichten.
    Oder einfach mal selber googlen.



  • hm...
    ich hab den gcc jetzt zum laufen gebracht 🙂
    Konsolenanwendungen gehn 🙂
    allerdings hab ich den Nightly nicht mehr. Ich hab mir die Version noch mal runtergeladen und die dateien ersetzt, aber danach lässt sich CB nicht mehr ausführen 😕


  • Mod

    Du solltest deine Probleme etwas genauer beschreiben.

    http://forums.codeblocks.org/index.php/topic,3232.0.html



  • juhu, der Nightly funktioniert, hab nur ne .dll vergessen 🙂
    hab dann die Stepps für die wxWidgets noch gemacht und hat funktioniert, jedenfalls teilweise
    Es ließ sich diesmal Compilieren und ausführen, doch das ausgeführte
    Programm war ein ganz anderes als das im Quellcode

    base.h

    #ifndef BASIC_H
    #define BASIC_H
    
    class HalloWeltApp : public wxApp
    {
    public:
            virtual bool OnInit();
    };
    
    class BasicFrame : public : wxFrame
    {
    public:
            BasicFrame(const wxChar* title,
                       int xpos, int ypos, int weight, int height);
            ~BasicFrame();
    };
    
    #endif
    

    base.cpp

    #include <wx/wx.h>
    #include "base.h"
    
    IMPLEMENT_APP(HalloWeltApp)
    
    bool HalloWeltApp::OnInit()
    {
    BasicFrame *frame = new BasicFrame(wxT"Hallo Welt", 50, 50, 450, 300);
    frame->Show(TRUE);
    SetTopWindow(frame);
    return TRUE;
    }
    
    BasicFrame::BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height):wxFrame ((wxFrame *)NULL, -1, wxPoint(xpos, ypos)
                                                                                                                         wxSize(width, height))
                                                                                                                         {}
    BasicFrame::~BasicFrame(){}
    

    ist das erste Programm aus "C++ von A bis Z" im GUI bereich.

    Das Ausführbare Programm ist dann ein Fenster mit Menü und nirgends "Hallo Welt" 😕

    Ich hoffe mein Problem ist damit genauer erklärt


  • Mod

    Hm, von dem Buch hab ich bisher nix gutes gehört.

    Diesmal ist der Fehler jedoch offensichtlich:

    Der Titel des Fensters wird nirgendswo hin weiter geleitet.

    Bei BasicFrame müsste der Konstruktor so modifiziert werden:

    BasicFrame::BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height):wxFrame ((wxFrame *)NULL, -1,
    /* Hier wurde die Weitergabe des Fenstertitels offenbar vergessen... */
    title,
    wxPoint(xpos, ypos)
                                                                                                                         wxSize(width, height))
                                                                                                                         {}
    

    Siehe wxFrame Konstruktor:
    http://wxwidgets.org/manuals/stable/wx_wxframe.html#wxframector

    Hab ich dich eigentlich schon auf die wxWidgets tutorials im Artikel Forum hingewiesen? 😃

    phlox



  • phlox81 schrieb:

    Hm, von dem Buch hab ich bisher nix gutes gehört.

    Inwiefern denn, ich war bisher eigentlich ganz zufrieden damit

    phlox81 schrieb:

    Hab ich dich eigentlich schon auf die wxWidgets tutorials im Artikel Forum hingewiesen? 😃

    Nee

    phlox81 schrieb:

    Der Titel des Fensters wird nirgendswo hin weiter geleitet.

    Bei BasicFrame müsste der Konstruktor so modifiziert werden:
    C/C++ Code:

    BasicFrame::BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height):wxFrame ((wxFrame *)NULL, -1,
    /* Hier wurde die Weitergabe des Fenstertitels offenbar vergessen... */
    title,
    wxPoint(xpos, ypos)
                                                                                                                         wxSize(width, height))
                                                                                                                         {}
    

    Siehe wxFrame Konstruktor:
    http://wxwidgets.org/manuals/stable/wx_wxframe.html#wxframector

    danke, aber ich glaub der Fehler liegt woanders dran
    selbst wenn ich Fehler im Code einbaue und neu Compiliere sagt er "Nothing to be done".
    Und im Projektordner sind zwei dateien, die da gar nicht hingehören:
    <Projektname>App.cpp
    <Projektname>App.h
    und diese datein werden Compiliert und da steht der Code für das Programm, welches nicht kommen soll. Wie kann ich dem Compiler mitteilen, das die anderen dateien compiliert werden sollen



  • So schlecht ist das Buch nun auch nicht. Allerdings sollte man den Code schon richtig abtippen, damit er auch kompiliert. Wenn er das per C&P aus seiner IDE gepostet hat, sehe ich beim überfliegen schon zwei Fehler. Unteranderem den besagten "title"(der im Buch vorhanden ist!) den du richtigerweise eingefügt hast.



  • oh ja, der title steht im Buch, da hab ich falsch abgetippt, aber sonst hab ich keinen gefunden(hab mit dem Buch grad noch mal verglichen)


  • Mod

    michme schrieb:

    So schlecht ist das Buch nun auch nicht. Allerdings sollte man den Code schon richtig abtippen, damit er auch kompiliert. Wenn er das per C&P aus seiner IDE gepostet hat, sehe ich beim überfliegen schon zwei Fehler. Unteranderem den besagten "title"(der im Buch vorhanden ist!) den du richtigerweise eingefügt hast.

    Naja ich dachte, er hätte sich kleverer Weise die Beispiele von der CD gesaugt.

    Die Tutorials findest du hier:

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-159232.html
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-175682.html



  • wieso kleverer Weise, wenn man abschreibt bleibt wenigstens noch was sitzen, nich so wie bei copy&paste 🙂

    natülich hab ich den text in den letzten tagen nicht immer wieder neu abgeschrieben

    die beiden Artikel sahen vielversprechend aus, hab sie eben nur überflogen, werd sie mir aber noch in ruhe durchlesen 🙂
    aber wie kann ich mein Problem mit den falschen datein lösen?


  • Mod

    Wenn du mit C::B ein wxWidgetsprojekt startest, werden diese Dateien angelegt.
    Eigentlich ist das nichts anderes als dein Beispiel aus dem Buch, nur das die App und die Frame Klasse in 2 Dateien getrennt sind.


Anmelden zum Antworten