Ich bekomme das gtkmm nicht korrekt hin...



  • Hallo,

    Ich habe schon seit Monaten ein Problem, was ich bislang nicht lösen konnte - Ich habe 2 Entwicklungsumgebungen :

    Dev-Cpp
    Code::Blocks 8.02

    Ich habe zunächst das GTK+ installiert, dann das gtkmm nach C:\Programme\GTK\gtkmm-2.4 und dann bei Code::Blocks ein neues GTK+ Projekt erstellt, mit folgendem Programm:

    #include <gtkmm.h> // gtkmm - Header
    
    int main (int argc, char* argv []) {
       Gtk::Main m (&argc, &argv); // gtkmm starten
    
       Gtk::Window wnd; // Fenster erzeugen
       wnd.set_title ("Mein Fenstertitel"); // Fenstertitel festlegen
    
       Gtk::Label lbl; // Label erzeugen
       lbl.set_text ("Mein label"); // Text ins label tuen
    
       wnd.add (lbl); // Label ins Fenster tuen
    
       wnd.show_all (); // Das Fenster und alle untergeordneten Objekte (also das Label) anzeigen
    
       m.run (wnd); // Hauptschleife - Warte auf Nachrichten und leite sie weiter.
    }
    

    Beim Kompillieren (F9) rattert er immer ca. 2 Minuten, danach öffnet er die Datei gtkmm.h als neuen Tab, dabei zeigt der rote Block in den Zeilenangaben auf
    Zeile 29 (#include <glibmm.h>), das ohne weiteren Fehlermeldungen.
    Eine *.exe-Datei erhalte ich erst recht nicht.

    Nebensächliche Infos:

    gtkmm:

    gtkmm-win32-devel-2.10.11-1.exe

    und Betriebssystem: logischer Weise XP

    Ich bin um jede Hilfe dankbar, thx 🙂



  • Hallo,
    Ich bin mir nicht mehr sicher wie ich dass damals gemacht hab (nutze inzwischen nur noch Linux).

    ::JET::LI:: schrieb:

    ... und dann bei Code::Blocks ein neues GTK+ Projekt erstellt,

    Kannst du kein gtkmm Projekt erstellen?

    Eventuell musst du noch den Pfad zur PKG_CONFIG_PATH Variable hinzufügen.

    Vielleicht hilft es dir ja etwas...
    mfg kaffee



  • PKG_CONFIG_PATH habe ich gesetzt... nein ich kann auch kein neues gtkmm projekt erstellen...



  • Hallo,

    ::JET::LI:: schrieb:

    PKG_CONFIG_PATH habe ich gesetzt... nein ich kann auch kein neues gtkmm projekt erstellen...

    Wie gesagt, ich nutze inzwischen Linux.
    Ich glaube bei devcpp konnte ich ein gtkmm projekt erstellen.
    Vielleicht kann dir ja noch jemand anderes helfen.

    mfg kaffee



  • Gebe jeweils einmal auf der Konsole folgendes ein:

    pkg-config --cflags gtkmm-2.4
    pkg-config --libs gtkmm-2.4

    Die Ausgabe des ersten Befehls gibst du bei
    Project -> Build Options -> Compiler Settings -> Other Options
    ein, die des zweiten bei
    Project -> Build Options -> Linker Settings -> Other linker Options
    ein.



  • gut,

    dann öffnet er mir in einem neuem Tab die Datei containerhandle_shared.h

    und markiert Zeile 24 (#include <cstddef>)



  • Bist du sicher, dass du keine Fehlermeldungen bekommst?

    In Code::Blocks, klick mal im Menü -> View -> Logs an.



  • okay, okay, ne Menge Fehler, aber (fast) alles no such file directories:

    C:\Programme\GTK\include\glibmm-2.4\glibmm\containerhandle_shared.h|24|cstddef: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\containerhandle_shared.h|25|algorithm: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\containerhandle_shared.h|26|iterator: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\containerhandle_shared.h|27|vector: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\containerhandle_shared.h|28|deque: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\containerhandle_shared.h|29|list: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|25|error: syntax error before "Glib"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|26|error: syntax error before '{' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|64|error: syntax error before "inline"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|64|error: syntax error before '' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|64|warning: type defaults to `int' in declaration of `RefPtr'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|70|warning: type defaults to `int' in declaration of `RefPtr'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|70|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|70|warning: type defaults to `int' in declaration of `RefPtr'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|76|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|84|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|87|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|97|error: syntax error before "operator"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|100|error: syntax error before "operator"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|107|error: syntax error before '
    ' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|117|error: syntax error before "bool"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|117|warning: return type defaults to int'| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\refptr.h||In functionbool':|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|117|warning: empty declaration|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\refptr.h|130|error: syntax error before "template"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\unicode.h|32|cctype: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\unicode.h|132|warning: enum defined inside parms|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\unicode.h|132|warning: empty declaration|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\unicode.h|159|warning: enum defined inside parms|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\unicode.h|159|warning: empty declaration|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\unicode.h|162|warning: type defaults to `int' in declaration of `AsciiType'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\unicode.h|162|error: syntax error before "operator"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|28|iosfwd: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|30|string: No such file or directory|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|104|error: storage class specified for parameter value_type'| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\ustring.h|105|warning: type defaults to \int' in declaration of `std'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|105|error: storage class specified for parameter std'| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\ustring.h|105|error: syntax error before ':' token| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\ustring.h|106|warning: type defaults to \int' in declaration of `value_type'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|106|error: storage class specified for parameter value_type'| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\ustring.h|106|error: conflicting types for 'value_type'| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\ustring.h|104|error: previous definition of 'value_type' was here| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\ustring.h|106|error: syntax error before "reference"| C:\\Programme\\GTK\\include\\glibmm-2.4\\glibmm\\ustring.h|107|error: storage class specified for parameterpointer'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|109|warning: type defaults to `int' in declaration of `ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|110|warning: type defaults to `int' in declaration of `ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|110|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|110|warning: type defaults to `int' in declaration of `ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|110|error: redefinition of parameter 'ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|109|error: previous definition of 'ustring_Iterator' was here|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|112|warning: type defaults to `int' in declaration of `value_type'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|112|error: redefinition of parameter 'value_type'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|106|error: previous definition of 'value_type' was here|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|112|error: syntax error before "operator"|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|114|warning: type defaults to `int' in declaration of `ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|114|error: conflicting types for 'ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|110|error: previous definition of 'ustring_Iterator' was here|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|114|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|115|warning: type defaults to `int' in declaration of `ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|115|error: conflicting types for 'ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|114|error: previous definition of 'ustring_Iterator' was here|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|115|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|116|warning: type defaults to `int' in declaration of `ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|116|error: conflicting types for 'ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|115|error: previous definition of 'ustring_Iterator' was here|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|116|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|117|warning: type defaults to `int' in declaration of `ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|117|error: conflicting types for 'ustring_Iterator'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|116|error: previous definition of 'ustring_Iterator' was here|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|117|error: syntax error before '<' token|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|120|warning: type defaults to `int' in declaration of `T'|
    C:\Programme\GTK\include\glibmm-2.4\glibmm\ustring.h|120|error: syntax error before "base"|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build finished: 50 errors, 21 warnings ===|



  • Die Standard-C++ Header werden nicht gefunden. Folgende Probleme könntest du haben:

    1. Dein Compiler ist zu alt. Überprüfe die Version.
    2. Du hast den Pfad zu den C++ Headern gelöscht.

Anmelden zum Antworten