probleme mit wigets :S
-
si
ich han ein paar problemchen mit meinem neuen widget denn wen ich auf neues projekt in codeblocks(ide) gehe und den code einfüge,erscheint dass eine headerfile fehlt,zbsp. wx.h,ich habe die .h in das verzeichnis wo meine .cpp datei liegt hinkopiert,aber dann erscheint ein andres ,dass etwas andres fehlt.
in der install versteh ich eigentlich null
sogar hab ich verschucht die include von wxwidgets 2.6.3 den include ordner in den von codeblocks include ordner reinkopieren,aber trodzde one erfolg
vielleicht chönnt mi bitte eina helfä
-
Unter Settings -> Compiler -> "Directories" Reiter musst du das Include Verzeichnis
von wxWidgets angeben, und das Verzeichnis in dem du deine wx-libs hast unter Linker.
-
Stell den Pfad zu den wx Headern und Bibliotheken in den Compiler optionen ein.
Oder so: http://www.wxwidgets.org/wiki/index.php/CodeBlocks_Setup_Guide
-
phlox81 schrieb:
Unter Settings -> Compiler -> "Directories" Reiter musst du das Include Verzeichnis
von wxWidgets angeben, und das Verzeichnis in dem du deine wx-libs hast unter Linker.bei mir ist dann folgendes rausgekommen:
Execution of 'mingw32-g++.exe -IC:\Programme\CodeBlocks\include -IC:\Programme\wxWidgets-2.6.3\ -c index.cpp -o index.o' in 'C:\Dokumente und Einstellungen\Daniel\Desktop\C++' failed.
also hab ich was falsch gemacht...
so hab ich es gemacht:Linker: C:\Programme\wxWidgets-2.6.3\include
Directories: C:\Programme\wxWidgets-2.6.3stimmt das so?
coder
-
Nein, der Linker braucht das lib verzeichnis, include ist include...
also $wxdir/include unter die includes bei C::B, und beim Linker das selbe.
-
phlox81 schrieb:
Nein, der Linker braucht das lib verzeichnis, include ist include...
also $wxdir/include unter die includes bei C::B, und beim Linker das selbe.sry,aber ich hatte gefragt,wie das aussehen sollte,sorry
Wie soll ich das nun machen?
Also Codeblocks ist hier:C:\Programme\CodeBlocks -> Codeblocksverzeichnis
C:\wxWidgets-2.6.3 -> wxwidgetsund wie soll ich aus diesen nun wo was reinschreiben?
mfg coder
-
codeer_in_hosen schrieb:
phlox81 schrieb:
Nein, der Linker braucht das lib verzeichnis, include ist include...
also $wxdir/include unter die includes bei C::B, und beim Linker das selbe.sry,aber ich hatte gefragt,wie das aussehen sollte,sorry
Wie soll ich das nun machen?
Also Codeblocks ist hier:C:\Programme\CodeBlocks -> Codeblocksverzeichnis
C:\wxWidgets-2.6.3 -> wxwidgetsund wie soll ich aus diesen nun wo was reinschreiben?
mfg coder
kann mir bitte jemand helfen?
-
Wo ist das Problem? Du suchst die Pfade zum "lib" und "include" Verzeichnis im wxWidgets Verzeichnis heraus und trägst sie in die entsprechenden Felder bei Code::Blocks ein.
-
GPC schrieb:
Wo ist das Problem? Du suchst die Pfade zum "lib" und "include" Verzeichnis im wxWidgets Verzeichnis heraus und trägst sie in die entsprechenden Felder bei Code::Blocks ein.
hallo und dankeschön
also ich habe schon folgendes gemacht,leider aber noch immer ohne nix:C:\wxWidgets-2.6.3\lib -> linker
C:\wxWidgets-2.6.3\include -> Directionerysund es geht noch immer nicht
was nun?
-
also vielleicht liegt es an der datei:
#include "wx/wx.h" // Deklariert class MyApp : public wxApp { public: // C virtual bool OnInit(); }; // Deklariert das Hauptframe class MyFrame : public wxFrame { public: // Konstruktor MyFrame(const wxString& title); }; //.. DECLARE_APP(MyApp) // MyApp-Objekt erstellen IMPLEMENT_APP(MyApp) // Code bool MyApp::OnInit() { // Erstelle Hauptfenster MyFrame *frame = new MyFrame(wxT("eine einfache wxWidgets-Anwendung")); //Hauptfenster frame->Show(true); //Ereignisschleife return true; } MyFrame::MyFrame(const wxString& title) : wxFrame(NULL, wxID_ANY, title) { // gg status CreateStatusBar(2); SetStatusText(wxT("Willkommen zu wxWidgets!")); SetStatusText(wxT("einem OpenSource-Framework"),1); }
-
coder_in_hosen schrieb:
was nun?
Gib mal die Ausgabe des Compilers her... "funktioniert nicht" ist etwas unpräzise.
Ach ja, das wxWidgets include-Verzeichnis hast du sicher bei "include" in Code::Blocks eingetragen (und nicht in den allgemeinen Directories)?
-
GPC schrieb:
coder_in_hosen schrieb:
was nun?
Gib mal die Ausgabe des Compilers her... "funktioniert nicht" ist etwas unpräzise.
Fehlermeldung:
Switching to target: default
Compiling: index.cpp
cc1plus.exe: wx_pch.h: No such file or directory
index.cpp:1:19: wx/wx.h: No such file or directory
index.cpp:5: error: expected class-name before '{' token
index.cpp:13: error: expected class-name before '{' token
index.cpp:16: error: expected,' or
...' before '&' token
index.cpp:16: error: ISO C++ forbids declaration ofwxString' with no type index.cpp:24: error: expected constructor, destructor, or type conversion before "IMPLEMENT_APP" index.cpp:24: error: expected
,' or;' before "IMPLEMENT_APP" index.cpp:39: error: expected
,' or...' before '&' token index.cpp:40: error: ISO C++ forbids declaration of
wxString' with no type
index.cpp: In constructorMyFrame::MyFrame(int)': index.cpp:40: error: class \
MyFrame' does not have any field named `wxFrame'
index.cpp:40: error:NULL' undeclared (first use this function) index.cpp:40: error: (Each undeclared identifier is reported only once for each function it appears in.) index.cpp:40: error:
wxID_ANY' undeclared (first use this function)
index.cpp:40: error:title' undeclared (first use this function) index.cpp:44: error:
CreateStatusBar' undeclared (first use this function)
index.cpp:46: error:wxT' undeclared (first use this function) index.cpp:46: error:
SetStatusText' undeclared (first use this function)
index.cpp:48:2: warning: no newline at end of file
Process terminated with status 1 (0 minutes, 0 seconds)GPC schrieb:
coder_in_hosen schrieb:
was nun?
Ach ja, das wxWidgets include-Verzeichnis hast du sicher bei "include" in Code::Blocks eingetragen (und nicht in den allgemeinen Directories)?
Beim Linker hab ich zu C:\wxverzeichnis/lib gewählt(also auf den oberen navigationen da nicht erst auf directorie und dann linker,sondern sofort)
Bei Directories hab ich unter "Compiler" C:\wxverzeichnis/include gewählt
coder
-
coder_in_hosen schrieb:
Fehlermeldung:
Switching to target: default
Compiling: index.cpp
cc1plus.exe: wx_pch.h: No such file or directory
index.cpp:1:19: wx/wx.h: No such file or directory
index.cpp:5: error: expected class-name before '{' token
index.cpp:13: error: expected class-name before '{' token
index.cpp:16: error: expected,' or
...' before '&' token
index.cpp:16: error: ISO C++ forbids declaration ofwxString' with no type index.cpp:24: error: expected constructor, destructor, or type conversion before "IMPLEMENT_APP" index.cpp:24: error: expected
,' or;' before "IMPLEMENT_APP" index.cpp:39: error: expected
,' or...' before '&' token index.cpp:40: error: ISO C++ forbids declaration of
wxString' with no type
index.cpp: In constructorMyFrame::MyFrame(int)': index.cpp:40: error: class \
MyFrame' does not have any field named `wxFrame'
index.cpp:40: error:NULL' undeclared (first use this function) index.cpp:40: error: (Each undeclared identifier is reported only once for each function it appears in.) index.cpp:40: error:
wxID_ANY' undeclared (first use this function)
index.cpp:40: error:title' undeclared (first use this function) index.cpp:44: error:
CreateStatusBar' undeclared (first use this function)
index.cpp:46: error:wxT' undeclared (first use this function) index.cpp:46: error:
SetStatusText' undeclared (first use this function)
index.cpp:48:2: warning: no newline at end of file
Process terminated with status 1 (0 minutes, 0 seconds)GPC schrieb:
coder_in_hosen schrieb:
was nun?
Ach ja, das wxWidgets include-Verzeichnis hast du sicher bei "include" in Code::Blocks eingetragen (und nicht in den allgemeinen Directories)?
Beim Linker hab ich zu C:\wxverzeichnis/lib gewählt(also auf den oberen navigationen da nicht erst auf directorie und dann linker,sondern sofort)
Bei Directories hab ich unter "Compiler" C:\wxverzeichnis/include gewählt
coder
also wie geht es eigentlich weiter?
-
Nicht so ungeduldig...
hab jetzt wxWidgets auf Win installiert, es kompiliert und mit Code::Blocks zum Laufen gebracht. Verstehe echt nicht, wo man da hängenbleiben kann, wenn man sich an die Anleitung hält.
Also, erfolgreich kompiliert hast du es ja, oder?
Ich hab noch folgendes bei Code::Blocks eingetragen und es lief...
Zuerst ins Menü und auf das klicken:Settings -> Compiler Settings
Dann im Dialog auf den Reiter "Directories", da auf Reiter "Compiler" und den include-Pfad eintragen, dann auf den Reiter "Linker" und den lib-Pfad eintragen. So hat's jedenfalls bei mir funktioniert.
MfG
GPC