Zum Inhalt springen

Gtkmm mit CodeBlocks IDE zum laufen bringen


lit-web

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

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 von lit-web
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

post-59128-14430448815743_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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-Web

gtk_test.rar

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...