Veröffentlicht 23. September 201014 j Hallo Leute, ich muss mich nun mal Hilfesuchend an euch wenden. Ich versuche die GTKmm unter Code::Blocks zum laufen zu bringen aber ich scheitere daran. Ich habe meine Frage schon im C++ Forum gestellt, aber wirklich helfen konnte mir da auch niemand. Hier der Link zu dem Thema C/C++ Forum :: gtkmm unter code::blocks zum laufen bringen , da wisst ihr was man mir schon als Tipp geschrieben hat, aber meine Versuche darauf sind fehlgeschlagen. Ich habe Gtk+ und Gtkmm installiert und wollte nun die includes und libs meiner Code::Blocks IDE bekannt machen um die Gtkmm benutzen zu können. Nur weis ich nicht wo ich das wie machen soll. Ich habe mir also eine Konsolenanwendung Projekt angelegt und dann unter dem Menüpunkt Project auf den Menüpunkt Buil Options gegangen. Und dort hört es dann auf. Im Thread von C++ Forum könnt ihr lesen wo ich das versucht habe. Könnt ihr mir bei dem Problem vieleicht weiter helfen? Vielen Dank für eure Zeit und Mühe. Gruß lit-web
23. September 201014 j Autor Ok, danke ich werde das wenn ich zu Hause bin sofort versuchen umzusetzen und mich dann melden ob es geklappt hat. Gruß lit-web
23. September 201014 j Autor Hallo, also ich habe das genau nach der Beschreibung da probiert, aber es kommt immer noch ne Meldung das die gtkmm.h nicht gefunden wird. #include <iostream> #include <gtkmm.h> using namespace std; int main() { cout << "Hello world!" << endl; return 0; } Noch jemand ne Idee? Gruß lit-web
23. September 201014 j Noch jemand ne Idee?Ja. Einfach mal nachsehen, ob die Datei da ist, wo du sie vermutest. Ich bin mir ziemlich sicher, dass gtkmm.h nicht in C:\GTK\include steckt, sondern in C:\GTK\include\gtkmm-2.4 oder einem ähnlichen Unterordner. Du wirst diesen (und vermutlich auch alle anderen) Unterordner von C:\GTK\Include auch in den Projekteinstellungen eintragen müssen.
23. September 201014 j Autor Ich habe nachgesehen du hattest Recht. Aber nun bin ich vollkommen von der Rolle und weis nicht wo ich nun noch was wie rein schreiben bzw. eintragen soll. Im Netz finde ich auch keine wirkliche Hilfe trotz weiterer intensiver Suche.
23. September 201014 j In den Build Options wählst du links den obersten Knoten im Baum aus (der heißt wie dein Projekt). Nicht Debug oder Release, weil du das für beide ändern willst. Unter Search Directories fügst du dann bei Compiler C:\GTK\include und alle Unterordner hinzu. Bei Linker machst du dasselbe mit C:\GTK\lib und allen Unterordnern.
23. September 201014 j Autor Genau wie du es geschrieben hast, habe ich das nun auch gemacht. Pfad bei Compiler C:\GTK\include\glibmm-2.4\ Pfad bei Linker C:\GTK\lib\glibmm-2.4\include\ Das sind auch die Pfade wie ich sie verfolgen konnte. Beim ersten Pfad findet man dann die glibmm.h Beim zweiten Pfad findet man die glibmmconfig.h So nun probiere ich folgenden code aus. #include <iostream> #include <gtkmm.h> using namespace std; int main(int argc, char* argv[]) { Gtk::Main kit(argc, argv); Gtk::Window window; Gtk::Main::run(window); return 0; } Jedoch bekomme ich ne Menge Fehlermeldungen. C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|2|gtkmm.h: No such file or directory| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp||In function `int main(int, char**)':| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|8|error: `Gtk' has not been declared| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|8|error: `Main' was not declared in this scope| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|8|error: expected `;' before "kit"| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|9|error: `Gtk' has not been declared| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|9|error: `Window' was not declared in this scope| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|9|error: expected `;' before "window"| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|11|error: `Gtk' has not been declared| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|11|error: `window' was not declared in this scope| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|11|error: `run' was not declared in this scope| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|8|warning: unused variable 'Main'| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|9|warning: unused variable 'Window'| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|11|warning: unused variable 'window'| C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\gtk_test\main.cpp|11|warning: unused variable 'run'| ||=== Build finished: 10 errors, 4 warnings ===| Ich weis da nun momentan nicht mehr weiter. Danke für eure Zeit und Hilfe lit-web
23. September 201014 j Genau wie du es geschrieben hast, habe ich das nun auch gemacht.Nein, hast du nicht. Beim ersten Pfad findet man dann die glibmm.hWas willst du mit glibmm.h? Du suchst doch gtkmm.h. Ich hatte gesagt, du sollst GTK\include und alle Unterverzeichnisse hinzufügen.
23. September 201014 j Autor Nein, hast du nicht. Was willst du mit glibmm.h? Du suchst doch gtkmm.h. Ich hatte gesagt, du sollst GTK\include und alle Unterverzeichnisse hinzufügen. Stimmt ich hatte das falsche hinzugefügt. Nun kommen keine Fehlermeldungen mehr vom Compiler her aber folgendes kleines Fenster geht beim start auf. You must select a host application to "run" a library... Was das übersetzt heist weis ich aber wo ich da wie was ändern oder einstellen muss weis ich leider nicht.
23. September 201014 j You must select a host application to "run" a library...Dann hast du wohl statt eines Konsolenanwendungsprojekts ein Library-Projekt erstellt. Ich weiß nicht, ob du das nachträglich ändern kannst.
24. September 201014 j Autor Dann hast du wohl statt eines Konsolenanwendungsprojekts ein Library-Projekt erstellt. Ich weiß nicht, ob du das nachträglich ändern kannst. Ich abe wenn ich in CodeBlocks nen Projekt anlege ganz oben rechts das ausgewählt und das ist ja eine Konsolenanwendung, oder gibts da noch etwas anderes sodas ich eventuell das falsche ausgewählt habe?
5. Oktober 201014 j Autor Guten Abend, ich bekomme glaub bald nen Rappel, ich bekomme das einfach nicht hin. Also noch mal ich lege mir ein neues Project an (eine console application), dass ist bei Code::Blocks ganz rechts oben die Schaltfläche wenn ich ein Project anlegen will. So ist das geschehen dann mache ich die Einstellungen wie mir gesagt wurde. 1.) Ich öffne unter Project dann Build Options und wähle links ganz oben den Baumpunkt der den gleichen Namen hat wie mein Project. 2.) Ich wähle dann den Registerreiter Search Directories 3.) Ich wähle aus dem Unterregister den Reiter Compiler drücke da auf Add, das was da drin steht an Pfad (Pfad zum Project) lösche ich raus und schreibe da folgendes rein C:\GTK\include\gtkmm-2.4\ 4.) Dann wähle ich im Unterregister den Reiter Linker und drücke auch da wieder Add, lösche den vorhandenen Pfad (wieder Pfad zum Project) raus und schreibe rein C:\GTK\lib\glibmm-2.4\include\ Bei drittens liegt im Verzeichnis gtkmm-2.4 die Header Datei gtkmm.h Bei viertens liegt imVerzeichnis include die Datei glibmmconfig.h So in den Header Dateien sind ein haufen andere Header Dateien gelistet. Jedoch funktioniert bei mir wenn ich den Beispielcode aufrufe bzw. mit dem Beispielcode versuche zu compilieren, dann hagelt es wieder ne riesen Menge Fehlermeldungen. Könnt ihr vieleicht noch mal helfen? Vielen Dank Gruß lit-web EDIT: Hier die ganze Reihe Fehlermeldungen Compiling: main.cpp In file included from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm.h:29:20: glibmm.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm.h:30:19: giomm.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm.h:31:19: gdkmm.h: No such file or directory In file included from C:/GTK/include/gtkmm-2.4/gtkmm.h:33, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/object.h:28:27: glibmm/object.h: No such file or directory In file included from C:/GTK/include/gtkmm-2.4/gtkmm/object.h:29, from C:/GTK/include/gtkmm-2.4/gtkmm.h:33, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/base.h:26:28: glibmm/utility.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/base.h:27:28: glibmm/ustring.h: No such file or directory In file included from C:/GTK/include/gtkmm-2.4/gtkmm/object.h:29, from C:/GTK/include/gtkmm-2.4/gtkmm.h:33, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/base.h:31: error: `Glib' has not been declared C:/GTK/include/gtkmm-2.4/gtkmm/base.h:31: error: expected nested-name-specifier before "unconst" C:/GTK/include/gtkmm-2.4/gtkmm/base.h:31: error: `unconst' has not been declared In file included from C:/GTK/include/gtkmm-2.4/gtkmm.h:33, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/object.h:30:25: gtkmmconfig.h: No such file or directory In file included from C:/GTK/include/gtkmm-2.4/gtkmm.h:33, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/object.h:72: error: invalid function declaration In file included from C:/GTK/include/gtkmm-2.4/gtkmm/dialog.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm/aboutdialog.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm.h:34, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/window.h:31:31: glibmm/listhandle.h: No such file or directory In file included from C:/GTK/include/gtkmm-2.4/gtkmm/container.h:29, from C:/GTK/include/gtkmm-2.4/gtkmm/bin.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm/window.h:32, from C:/GTK/include/gtkmm-2.4/gtkmm/dialog.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm/aboutdialog.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm.h:34, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:29:29: pangomm/context.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:30:28: pangomm/layout.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:37:25: gdkmm/event.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:38:25: gdkmm/types.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:39:26: gdkmm/window.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:40:31: gdkmm/dragcontext.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:41:26: gdkmm/pixbuf.h: No such file or directory C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:42:26: gdkmm/screen.h: No such file or directory In file included from C:/GTK/include/gtkmm-2.4/gtkmm/widget.h:43, from C:/GTK/include/gtkmm-2.4/gtkmm/container.h:29, from C:/GTK/include/gtkmm-2.4/gtkmm/bin.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm/window.h:32, from C:/GTK/include/gtkmm-2.4/gtkmm/dialog.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm/aboutdialog.h:30, from C:/GTK/include/gtkmm-2.4/gtkmm.h:34, from C:\Dokumente und Einstellungen\Lit-Web\Eigene Dateien\cpp_projects\test_gt\main.cpp:2: C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:93: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:93: error: expected template-name before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:93: error: expected `{' before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:93: error: expected unqualified-id before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:138: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:138: error: expected template-name before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:138: error: expected `{' before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:138: error: expected unqualified-id before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:172: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:172: error: expected template-name before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:172: error: expected `{' before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:172: error: expected unqualified-id before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:256: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:256: error: expected template-name before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:256: error: expected `{' before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:256: error: expected unqualified-id before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:298: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:298: error: expected template-name before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:298: error: expected `{' before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:298: error: expected unqualified-id before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:329: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:329: error: expected template-name before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:329: error: expected `{' before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:329: error: expected unqualified-id before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:364: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:364: error: expected template-name before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:364: error: expected `{' before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:364: error: expected unqualified-id before '<' token C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:398: error: `Value' is not a template C:/GTK/include/gtkmm-2.4/gtkmm/enums.h:398: error: expected template-name before '<' token Bearbeitet 5. Oktober 201014 j von lit-web
5. Oktober 201014 j nabend.... also wenn ich code::blocks 10.05 starte ist rechts oben in dem aufpoppenden fenster keineswegs die auswahl für consolenanwendung....
5. Oktober 201014 j Autor nabend.... also wenn ich code::blocks 10.05 starte ist rechts oben in dem aufpoppenden fenster keineswegs die auswahl für consolenanwendung.... Ich weis nicht was für eine Version ich grad habe, aber bei mir ist das so, siehe Anhang. Wie du siehst rechts oben die Schaltfläche Console application
5. Oktober 201014 j ah die version 8.02...schau mal oben in deinem screenshot.... hab die version 10.05 kannst das ganze auch morgen mal aufn usb stick packen und gibst es mir mit....(also kopieren wir auf einen meiner sticks)da schau ich mir das mal an daheim... also wenn das okay ist für dich.
7. Oktober 201014 j Autor Guten Abend @all, also nachdem ich nun komplett am verzweifeln bin und das schlicht weg nicht bei Code::Blocks zum laufen bekomme kennt jemand eine IDE wo man einfacher mit gtkmm arbeiten kann? In CB geht das mit einer gtk+ Projct Anwendung ja ohne Probleme, aber die gtkmm will einfach nicht laufen. Gruß Lit-Web
7. Oktober 201014 j 3.) Ich wähle aus dem Unterregister den Reiter Compiler drücke da auf Add, das was da drin steht an Pfad (Pfad zum Project) lösche ich raus und schreibe da folgendes rein C:\GTK\include\gtkmm-2.4\Ich sage es jetzt zum dritten Mal: Du sollst da C:\GTK\include und alle Unterverzeichnisse eintragen. Eins reicht nicht!
9. Oktober 201014 j Autor Ok, das sind ja reichlich Unterverzeichnisse in dem include. Gibts da einen Weg das ich eine Datei erstelle in dem ich die ganzen Pfade zu den Unterverzeichnissen die da in dem include Verzeichnis drin sind eintrage und dann nur diese Datei da ein eintrage? Wenn ja was für eine Datei sollte das sein und wo sollte man diese am besten speichern so das sie immer flexibel eintragbar ist? Danke Gruß Lit-Web
15. Oktober 201014 j Autor Guten Morgen Leute, also ich habe nun alle Verzeichnisse und Unterverzeichnisse included, aber ich bekomme trotzdem noch ne riesen Palette an Fehlermeldungen. Ich hänge das Mini Projekt mal als rar Datei mit an, vieleicht könnt ihr mal drüber schauen ob ich etwas falsch gemacht habe. Denn so langsam bin ich mit meinem Latein am Ende. Vielen Dank Lit-Webgtk_test.rar
15. Oktober 201014 j Da fehlen einfach noch etliche Verzeichnisse. Du musst dir immer die erste Fehlermeldung ansehen und das passende Verzeichnis hinzufügen. Mit denen hier sollte es dann für den Compiler reichen: C:\GTK\lib\glibmm-2.4\include C:\GTK\lib\glib-2.0\include C:\GTK\include\sigc++-2.0 C:\GTK\include\gtk-2.0 C:\GTK\lib\sigc++-2.0\include C:\GTK\include\pango-1.0 C:\GTK\lib\gtk-2.0\include C:\GTK\lib\gdkmm-2.4\include C:\GTK\include\cairomm-1.0 C:\GTK\include\atk-1.0
15. Oktober 201014 j Autor Die Sachen hier C:\GTK\include\sigc++-2.0 C:\GTK\include\gtk-2.0 C:\GTK\include\pango-1.0 C:\GTK\include\cairomm-1.0 C:\GTK\include\atk-1.0 habe ich hinzugefügt, die fehlten, aber die lib Sachen standen doch beim Linker mit drin. Oder müssen die auch ins Register Compiler?
15. Oktober 201014 j habe ich hinzugefügt, die fehlten, aber die lib Sachen standen doch beim Linker mit drin. Oder müssen die auch ins Register Compiler?Beim Linker haben Headerverzeichnisse absolut nichts verloren. Alle Einträge, die du bei Linker Search Directories gemacht hast, sind sinnlos. Da gehören Verzeichnisse rein, die Libraries enthalten.
15. Oktober 201014 j Autor Also müssen die ganzen Sachen die ich bei Linker rein gemacht habe auch in den Compiler Reiter rein? Und was muss dann in den Linker Reiter rein?
17. Oktober 201014 j Wenn die Header passen, musst du danach noch den Linker anweisen, die entsprechenden Libs zu linken. Ich hab das einfach mal für dich gemacht.gtk_test.zip
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.