wxwidgets, code::blocks Kubuntu -ratlos
-
Hallo,
ich habe extrem lange nicht mehr programmiert, daher denke ich mein Problem ist trivialer Natur aber beim Googlen bin ich gescheitert.
Ich habe unter Kubuntu Code::Blocks und wxwidgets installiert (über die Paketverwaltung). Nun wollte ich das Standard-wxwidgets-projekt von Codeblocks kompilieren, aber es zeigt mir an, dass er die ganzen wxwidgets klassen nicht kennt. Sicherlich muss ich dafür noch irgendwelche Bibliotheken einbinden aber welche und wo find ich die.
Ist bestimmt ganz einfach aber hab gestern stundenlang gesucht und nichts gefunden.
Hoffe es kann mir jemand helfen.Gruß und
Augen_Auf
-
Kannst du mal einige Fehlermeldungen posten?
Ist wxWidgets schon kompiliert?
-
.
.
.
/home/stefan/Programmierung/Inferi2/Inferi2Main.h|34|error: ISO C++ forbids declaration of ‘wxStaticText’ with no type|
.
.
.
/home/stefan/Programmierung/Inferi2/Inferi2Main.h|40|error: ‘wxCloseEvent’ has not been declared|
/home/stefan/Programmierung/Inferi2/Inferi2Main.h|41|error: ‘wxCommandEvent’ has not been declared|
/home/stefan/Programmierung/Inferi2/Inferi2Main.h|42|error: ‘wxCommandEvent’ has not been declared|
/home/stefan/Programmierung/Inferi2/Inferi2App.cpp||In function ‘wxAppConsole* wxCreateApp()’:|
/home/stefan/Programmierung/Inferi2/Inferi2App.cpp|21|error: cannot allocate an object of abstract type ‘Inferi2App’|
.
.
.Naja ich dachte wenn man die Pakete über den Paketmanager zieht, dann ist wxwidgets doch schon kompiliert, oder?
Gruß
Augen_Auf
-
Denke ich auch, dass wxWidgets schon kompiliert ist.
Dein Problem ist dem Anschein nach aber ein ganz anderes:
1. Dir fehlen einige Headerdateien, da musst du in der Doku schauen, welche du einbinden musst.
2. Du hast in deiner App-Klasse 'Inferi2App' wahrscheinlich eine pur virtuelle Funktion enthalten, die dort nicht hingehört.
-
Danke erstmal für deine Hilfsbereitschaft.
Hab jetzt mal versucht das Beispiel aus dem wxwidgets-Tutorial von dem cpp-Magazin hier im Forum zu kompilieren:
folgende Fehlermeldungen
/home/stefan/Programmierung/test/main.h|12|error: invalid use of incomplete type ‘struct wxFrame’|
/usr/include/wx-2.8/wx/utils.h|50|error: forward declaration of ‘struct wxFrame’|
/home/stefan/Programmierung/test/main.h|19|error: ISO C++ forbids declaration of ‘wxButton’ with no type|
/home/stefan/Programmierung/test/main.h|19|error: expected ‘;’ before ‘’ token|
/home/stefan/Programmierung/test/main.h|20|error: ISO C++ forbids declaration of ‘wxTextCtrl’ with no type|
/home/stefan/Programmierung/test/main.h|20|error: expected ‘;’ before ‘’ token|
/home/stefan/Programmierung/test/main.h|22|error: ‘wxCommandEvent’ has not been declared|
/home/stefan/Programmierung/test/main.h|23|error: ‘wxCommandEvent’ has not been declared|
/home/stefan/Programmierung/test/main.h|24|error: ‘wxCommandEvent’ has not been declared|
/home/stefan/Programmierung/test/app.cpp||In function ‘wxAppConsole* wxCreateApp()’:|
/home/stefan/Programmierung/test/app.cpp|5|error: cannot allocate an object of abstract type ‘MyApp’|
/home/stefan/Programmierung/test/app.h|15|note: because the following virtual functions are pure within ‘MyApp’:|
/usr/include/wx-2.8/wx/app.h|89|note: virtual int wxAppConsole::OnRun()|
/home/stefan/Programmierung/test/app.cpp||In member function ‘virtual bool MyApp::OnInit()’:|
/home/stefan/Programmierung/test/app.cpp|12|error: ‘class MyFrame’ has no member named ‘Show’|
||=== Build finished: 11 errors, 0 warnings ===|
-
Wie gesagt, ich vermute, es fehlen die Header, ich denke, mit einem einfachen
#include <wx/wx.h>
dürften die meisten Fehler beseitigt sein.
Dann stellt sich die Frage, warum die OnRun-Methode pur virtuell ist, oder sehe ich das falsch?
-
Hab ich ausprobiert, keine Änderung. Fehlerangaben sind identisch.
-
Hmmm... kannst du dann bitte mal deinen Code posten?