problem mit GTkmm installation



  • habe mit das downgeladen:
    gtkmm-devel-2.6.2-1.exe

    dann hab ich bzw installat. geschaut
    http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ape.html

    pkg-config --cflags gtkmm-2.4
    Package gtkmm-2.4 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `gtkmm-2.4.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'gtkmm-2.4' found

    If the pkg-config command cannot be found, you can cd to the bin/ directory
    of where you installed Dev-C++ and execute the above line from there.
    Depending on where you installed gtkmm, you will get output...

    hab ich auch versucht in der bin auszuführen...
    warum geht das nicht??

    MFG



  • Hast du auch gtk+ installiert? Das wird von gtkmm nicht mitinstalliert, ist
    aber erforderlich, hier nachzulesen:

    http://www.pcpm.ucl.ac.be/~gustin/win32_ports/

    Hier findest du gtk+:

    http://gladewin32.sourceforge.net/

    mfg
    v R



  • sry hab mich oben verschrieben:
    hab geladen: gtkmm-devel-2.4.11-2.exe
    = gtkmm 2.4 for Mingw32 (Stable)

    hab ich...wenn ich gtkmm installiere ladet er zuerst ja gtk+ runter und installiert es...

    MFG



  • fehler gefunden:
    mein fehler:
    We strongly recommend that Dev-C++ is installed and tested before installing any of the GTK+ or gtkmm libraries, as we will be installing all the libraries into the Dev-C++ directory

    nun hab ich nun einen fehler:
    C:\Programme\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lgdk_pixbuf-2.0-lpangowin32-1.0
    collect2: ld returned 1 exit status

    make.exe: *** [Projekt1.exe] Error 1

    MFG



  • das sind 2 libraries ⚠ 🤡

    -lgdk_pixbuf-2.0
    -lpangowin32-1.0



  • oh gott *g*

    gut ich wollte mal das erste demo compilieren:
    haeder:

    #include <gtkmm.h>
    #include "gtk/gtkstock.h"
    
    class Example_ButtonBox : public Gtk::Window
    {
    public:
      Example_ButtonBox();
      virtual ~Example_ButtonBox();
    
    protected:
      Gtk::Frame* create_button_box(bool horizontal, const Glib::ustring& title,
                                    int spacing, Gtk::ButtonBoxStyle layout);
    
      //Member widgets:
      Gtk::Frame m_Frame_Horizontal, m_Frame_Vertical;
      Gtk::VBox m_VBox_Main, m_VBox;
      Gtk::HBox m_HBox;
    };
    
    //Called by DemoWindow;
    Gtk::Window* do_buttonbox()
    {
      return new Example_ButtonBox();
    }
    
    Example_ButtonBox::Example_ButtonBox()
    : m_Frame_Horizontal("Horizontal Button Boxes"),
      m_Frame_Vertical("Vertical Button Boxes")
    {
      set_title("Button Boxes");
      set_border_width(10);
    
      add(m_VBox_Main);
    
      m_VBox_Main.pack_start(m_Frame_Horizontal, Gtk::PACK_EXPAND_WIDGET, 10);
    
      m_VBox.set_border_width(10);
      m_Frame_Horizontal.add(m_VBox);
    
      m_VBox.pack_start( *(create_button_box(true, "Spread", 40, Gtk::BUTTONBOX_SPREAD)) );
      m_VBox.pack_start( *(create_button_box(true, "Edge", 40, Gtk::BUTTONBOX_EDGE)) );
      m_VBox.pack_start( *(create_button_box(true, "Start", 40, Gtk::BUTTONBOX_START)) );
      m_VBox.pack_start( *(create_button_box(true, "End", 40, Gtk::BUTTONBOX_END)) );
    
      m_VBox_Main.pack_start(m_Frame_Vertical, Gtk::PACK_EXPAND_WIDGET, 10);
    
      m_VBox.set_border_width(10);
      m_Frame_Vertical.add(m_HBox);
    
      m_HBox.pack_start( *(create_button_box(false, "Spread", 30, Gtk::BUTTONBOX_SPREAD)) );
      m_HBox.pack_start( *(create_button_box(false, "Edge", 30, Gtk::BUTTONBOX_EDGE)) );
      m_HBox.pack_start( *(create_button_box(false, "Start", 30, Gtk::BUTTONBOX_START)) );
      m_HBox.pack_start( *(create_button_box(false, "End", 30, Gtk::BUTTONBOX_END)) );
    
      show_all();
    }
    
    Example_ButtonBox::~Example_ButtonBox()
    {
    }
    
    Gtk::Frame* Example_ButtonBox::create_button_box(bool horizontal, const Glib::ustring& title, gint  spacing, Gtk::ButtonBoxStyle layout)
    {
      Gtk::Frame* pFrame = Gtk::manage(new Gtk::Frame(title));
    
      Gtk::ButtonBox* pButtonBox = 0;
      if (horizontal)
        pButtonBox = Gtk::manage(new Gtk::HButtonBox());
      else
        pButtonBox = Gtk::manage(new Gtk::VButtonBox());
    
      pButtonBox->set_border_width(5);
      pFrame->add(*pButtonBox);
    
      pButtonBox->set_layout(layout);
      pButtonBox->set_spacing(spacing);
    
      Gtk::Button* pButton = Gtk::manage(new Gtk::Button(Gtk::Stock::OK));
      pButtonBox->add(*pButton);
    
      pButton = Gtk::manage(new Gtk::Button(Gtk::Stock::CANCEL));
      pButtonBox->add(*pButton);
    
      pButton = Gtk::manage(new Gtk::Button(Gtk::Stock::HELP));
      pButtonBox->add(*pButton);
    
      return pFrame;
    }
    
    #include "Example_AppWindow.h"
    #include <gtkmm.h>
    
    int main(int argc, char *argv[]) {
      Gtk::Main kit(argc, argv);
    
      Example_Images window;
      window.show();
    
      kit.run(window);
    }
    

    error:

    GTKProject_main.cpp: In function `int main(int, char**)':
    GTKProject_main.cpp:8: error: `Example_Images' undeclared (first use this function)
    
    GTKProject_main.cpp:8: error: (Each undeclared identifier is reported only once for each function it appears in.)
    GTKProject_main.cpp:8: error: expected `;' before "window"
    GTKProject_main.cpp:9: error: `window' undeclared (first use this function)
    
    make.exe: *** [GTKProject_main.o] Error 1
    

    in den projektoptionen muss ich immer diese:
    C++-Compiler:
    -IC:/Programme/Dev-Cpp/include/gtkmm-2.4 -IC:/Programme/Dev-Cpp/lib/gtkmm-2.4/include -IC:/Progr...

    Linker:
    -LC:/Programme/Dev-Cpp/lib -lgtkmm-2.4 -lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpangomm-1.4 -lglibmm-2.4 -lsigc-....

    das muss ich immer bei jeden projekt mitlinken...dann ich das nicht in den compileroptionen einstellen??!?

    MFG
    und be



  • Du kannst dir mal ein projekt einrichten wie du es gerne jedes mal haben möchtest wenn du ein neues Projekt auf machst. dann speicherst du das ( nicht zu machen)
    Dann gehst du auf Datei -> Neu -> Vorlage
    Und füllst dort alles relevante aus.
    Ab dem moment hast du unter Datei -> Neu -> Projekt eine Vorlage für dein Projekt und musst das nicht jedes mal neu angeben

    MfG



  • hast du sowas auch?

    wie sieht deine projektvorlage für GTKmm aus, hat du eine simple fenster appl.?
    bei einer winapi appl. steht ja auch schon einiges fertig...

    wie kann man beim devc++ eine projektvorlage wieder löschen???

    ich bin über den dev-c++ paket manager gestolpert...gibt es für gtkmm bzw QT4 auch so ein spez. paket...denn ich hab mir ja jetzt GTkmm2.4 u QT4 installiert aber es schein darin nicht auf, bei den updates kann man ja so ein paket installieren...hab nur GTK+ gesehen!?

    MFG



  • rolfi schrieb:

    hast du sowas auch?

    wie sieht deine projektvorlage für GTKmm aus, hat du eine simple fenster appl.?
    bei einer winapi appl. steht ja auch schon einiges fertig...

    Ich habe jetzt einen GTKmm Template Installer für DevC++ geschrieben. Basierend auf meiner Projektvorlage. http://www.evilissimo-softdev.de/downloads.html

    rolfi schrieb:

    wie kann man beim devc++ eine projektvorlage wieder löschen???

    In dem du im DevC++ unterverzeichniss Templates alles löscht was zu deinem Template(deiner Vorlage) gehört

    rolfi schrieb:

    ich bin über den dev-c++ paket manager gestolpert...gibt es für gtkmm bzw QT4 auch so ein spez. paket...denn ich hab mir ja jetzt GTkmm2.4 u QT4 installiert aber es schein darin nicht auf, bei den updates kann man ja so ein paket installieren...hab nur GTK+ gesehen!?

    Das Gtk+ Package ist afaik veraltet (und zwar heftigst) und für gtkmm und Qt4 gibt es kein solches Package.

    MfG


Anmelden zum Antworten