Gtkmm in Visual C++ einrichten schlägt fehl



  • Hallo und guten Abend,

    da ich unter CodeBlocks nicht klar kam entschied ich mich dazu nun mit Visual C++ 2008 zu arbeiten und da die Gtkmm zum laufen zu bringen.

    Ich habe das genau nach dieser Anleitung gemacht http://live.gnome.org/gtkmm/MSWindows/UsingMSVC, jedoch kommt nun beim Versuch das kleine Testprogramm mit folgenden Code

    #include "stdafx.h"
    
    int main(int argc, char* argv[])
    {
    	Gtk::Main kit(args, argv);
    
    	Gtk::Window window;
    
    	Gtk::Main::run(window);
    
    	return 0;
    }
    

    zu kompilieren folgender Fehler.

    1>c:\gtk\lib\gdkmm-2.4\include\gdkmmconfig.h(5) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "pangommconfig.h": No such file or directory

    Hier noch der Code aus der ANleitung für die stdafx.h

    // stdafx.h : Includedatei für Standardsystem-Includedateien
    // oder häufig verwendete projektspezifische Includedateien,
    // die nur in unregelmäßigen Abständen geändert werden.
    //
    
    #pragma once
    
    #ifndef GTKMM_TEST_STDAFX_H__
    #define GTKMM_TEST_STDAFX_H__
    
    #define WIN32_LEAN_AND_MEAN
    
    #include <stdio.h>
    
    #include <gtkmm.h>
    
    #endif GTKMM_TEST_STDAFX_H__
    
    // TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.
    

    Was kann da schief gelaufen sein, was muss ich noch machen und einstellen damit das richtig läuft?

    Ich bin für jede Antwort und Hilfe dankbar.

    Mfg Lit-Web



  • Keiner eine hilfreiche Antwort auf das Problem?



  • Habe gtkmm noch nie unter dem Visual Studio eingerichtet, aber das sieht für mich so aus, als ob du nur den gtkmm-Include-Ordner dem Compiler gemeldet hast per -I'Pfad zum Gtkmm-Include-Ordner' (oder ähnlich). Du müsstest alle Ordner includieren, die notwendig sind (darunter auch Pangomm). Unter Linux nutzt man dafür gerne pkg-config.

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

    Der erste Befehl teilt dem Compiler alle für gtkmm-2.4 nötigen Include-Pfade mit, der zweite teilt dem Linker alle nötigen Lib-Pfade mit.
    Wie man das unter Windows mit dem Visual Studio einsetzt, kann ich dir leider nicht sagen 😞 ... notfalls alle manuell hinzufügen oder kopieren (kopieren find ich böse ;)).
    Hast du die Property-File richtig hinzugefügt?



  • Ist die pangommconfig.h denn vorhanden in dem Pfad wo sie vermutet wird?



  • Ich habe keine Erfahrung mit gtkmm, aber was hat eine 'stdafx.h' Datei, die so in der Form nur bei MFC üblich und notwendig ist bei gtk zu suchen? Insbesondere da afx die interne MS Bezeichnung von MFC ist (Application Framework eXtension).



  • pospiech schrieb:

    Ich habe keine Erfahrung mit gtkmm, aber was hat eine 'stdafx.h' Datei, die so in der Form nur bei MFC üblich und notwendig ist bei gtk zu suchen? Insbesondere da afx die interne MS Bezeichnung von MFC ist (Application Framework eXtension).

    Es ist vollkommen egal ob man die stdafx.h oder leckmich.h nennt. Anscheinend wollte der TE vorkompilierte Header verwenden. Mit MFC hat das jedenfalls in dieser Form per se wenig zu tun.
    Ich verwende wxWidgets und habe auch meistens eine stdafx.h, welche als vorkompilierter Header angegeben wird und eine leere dummy.cpp worüber dieser erzeugt wird. Von MFC ist da aber keine Spur weit und breit :p.
    rya.



  • Ok danke erst mal für eure Antworten. Die Pfade includieren wo macht man das im Visual C++ denn?

    Gruß und Dank Lit-Web



  • Hallo,

    also es läuft nun bei, zwar auch nur mit Hilfe eines Kollegen aus meiner Klasse, der schon lange mit der IDE arbeitet, aber es läuft.

    Falls auch andere mal das Problem haben, möchte ich das hier schnell bekannt geben wie ich es bei mir nun gemacht habe.

    Also die hier im Thread verlinkte Anleitung auf alle Fälle so befolgen. Zusätzlich muss man aber noch einige Schritte machen.

    Man geht im oberen Menü auf Extras und dann auf Optionen. Dort dann Menüpubkt Projekte und Projektmappen öffnen und dann auf VC++ Verzeichnisse. Anschließend in der Combobox Verzeichnisse anzeigen für: den Pubkt Includedateien auswählen.

    Dann müssen jenachdem wo die GTK bei euch liegt (bei mir liegt die direkt in C) die Pfade C:\GTK\lib\pangomm-1.4\include und C:\GTK\include\freetype2 hinzugefügt werden.

    Auf Ok drücken und dann rechts im Projektmappenexplorer einen Rechtsklick auf den Projektmappennamen machen, im sich öffnenden Kontextmenü dann auf Hinzufügen und da dann neuen Filter auswählen. Den nennt ihr dann einfach Libs (der Name ist nicht erforderlich aber selbsterklärend). In diesen Ordner müsst ihr dann ne Menge an Libs eintragen. Dazu müsst ihr einen Rechtsklick auf den Ordner Libs (oder wie auch immer ihr den genannt habt) machen und wählt dann im sich öffnenden Kontextmenü Hinzufügen und Vorhandenes Element hinzufügen. Dann müsst ihr im GTK Hauptverzeichniss ins Verzeichniss lib gehen und alle Dateien die .lib enden hinzufügen.

    Anschliesend dann im Menü Erstellen und Projektmappe neu erstellen und schon müsste es funktionieren.

    Mfg Lit-Web


Anmelden zum Antworten