Kompilierproblem bei Dev-C++ mit wxWidgets
-
Hallo,
ich habe mir Dev-C++ 4.9.8 sowie die wxWidgets 2.4.0 und imagelib DevPaks runtergeladen und genau nach Anleitung installiert. Das Programmbeispiel unter Datei->Neues Projekt->GUI->wxWidgets läuft auch einwandfrei. Nur wenn ich dann versuche folgende Quellcodes zu kompilieren, bekomme ich jede Menge Fehlermeldungen:#ifndef _HELLOWORLD_APP_H #define _HELLOWORLD_APP_H class HelloWorldApp : public wxApp { public: virtual bool OnInit(); protected: private: }; DECLARE_APP(HelloWorldApp) #endif #include <wx/wxprec.h> #ifndef WX_PRECOMP #include <wx/wx.h> #endif #include "HelloWorldApp.h" IMPLEMENT_APP(HelloWorldApp) bool HelloWorldApp::OnInit() { wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, "Hello World"); frame->CreateStatusBar(); frame->SetStatusText("Hello World"); frame->Show(TRUE); SetTopWindow(frame); return true; }
Der Quellcode ist ein Beispiel aus dem wxWidgets Tutorial und müsste daher doch fehlerfrei sein?! Ich bin wirklich schon total am Verzweifeln, weil ich das einfach nicht zum Laufen kriege!!
Kann mir jemand sagen, wo im Code die Fehler sind? Muss man noch irgendwelche bestimmten include-Anweisungen hinzufügen oder so?
-
Hast du die Dateien denn wie folgt angelegt:
//HelloWorldApp.h #ifndef _HELLOWORLD_APP_H #define _HELLOWORLD_APP_H class HelloWorldApp : public wxApp { public: virtual bool OnInit(); protected: private: }; DECLARE_APP(HelloWorldApp) #endif
//HelloWorldApp.cpp #include <wx/wxprec.h> #ifndef WX_PRECOMP #include <wx/wx.h> #endif #include "HelloWorldApp.h" IMPLEMENT_APP(HelloWorldApp) bool HelloWorldApp::OnInit() { wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, "Hello World"); frame->CreateStatusBar(); frame->SetStatusText("Hello World"); frame->Show(TRUE); SetTopWindow(frame); return true; }
?
Also bei mir funktioniert es dann.
-
Ja, genauso hab ich es gemacht, einmal als .h Datei und einmal als .cpp Datei. Ist ja komisch, dass es dann bei Dir funktioniert und bei mir nicht
hab ich vielleicht bei der Installation was falsch gemacht?Hier nochmal die Fehlermeldungen, wenn das was hilft:
:/DEV-CPP/include/wx/defs.h:179: error: redeclaration of C++ built-in type `
bool'C:/DEV-CPP/include/wx/string.h:160:4: #error "Please define string case-insensitive compare for your OS/compiler"
-
Hmm, da scheint noch igendwas falsch eingestellt zu sein.
http://g.yi.org/forum/read.php?13,2567,2713
Hilft dir das weiter?
-
Hmm, danke, aber das hilft mir nicht so wirklich weiter :(. Hast Du Dein Dev-C++ eigentlich genauso installiert, wie ich das oben beschrieben habe oder gibt es da noch irgendeine andere Möglichkeit?
Aber noch mal eben eine andere Frage: wenn ich ein Programm, das mehr als eine Datei enthält kompilieren möchte, muss ich ja ein Projekt erstellen. Welche Art von Projekt muss ich denn da wählen? Hab bis jetzt immer "empty project" genommen.
-
Ich hab mal folgendes gemacht: hab nochmals dieses Beispielprojekt unter Datei
-> Neues projekt->GUI->wxWindows erstellt, dann aus diesem Projekt die main.cpp Datei entfernt und meine beiden HelloWorld Dateien hinzugefügt, kompiliert und siehe da, es funktioniert!
Damit bin ich erstmal schon überglücklich - wenn mir allerdings noch jemand sagen könnte WARUM das auf diese Art und Weise klappt und anders nicht, wär ich noch viel glücklicher
-
Das letzte mal, daß ich Dev-C++ benutzt habe, ist schon lange her. Hab mir gerade die neuesten Screenshots angesehen, da hat sich ja einiges getan.
Zu deiner Frage: Das wird vermutlich an den Parametern liegen, die dem Compiler/Linker zusätzlich übergeben werden müssen. Siehe http://www.math.uni-klu.ac.at/Software/cd3/devel/gui/wxwindows/devcpp.htm