Bonjour,
Je débute totalement sous GTKmm dont j'ai besoin pour un projet, et je galère pas mal pour des trucs extrêmement simplistes, ai-je l'impression. En gros, pour l'instant, j'essaie de compiler le code suivant :
Code :
- #include <gtkmm/main.h>
- #include <gtkmm/window.h>
- #include <gtkmm/box.h>
- #include <gtkmm/label.h>
- #include <gtkmm/entry.h>
- #include <gtkmm/button.h>
- #include <iostream>
- void on_button_clicked() {
- std::cout << "Bonjour" << std::endl;
- }
- int main(int argc, char **argv)
- {
- Gtk::Main app(argc, argv);
- Gtk::Window w;
- Gtk::VBox vb;
- w.add(vb);
- Gtk::Label l;
- vb.pack_start(l);
- l.show();
-
- Gtk::Entry e;
- vb.pack_start(e);
- e.show();
-
- Gtk::Button b("Bonjour !" );
- b.signal_clicked().connect(SigC::mem_fun(&on_button_clicked));
- vb.pack_start(b);
- b.show();
- vb.show();
- app.run(w);
- return 0;
- }
|
Intérêt du code : génération d'une fenêtre, d'un espace où écrire, d'un bouton permettant d'écrire "bonjour" lorsqu'on clique dessus (hourra !).
Et ce brave et fidèle Dev-Cpp me retourne la jolie erreur suivante :
30 C:\Dev-Cpp\SansNom1.cpp `mem_fun' is not a member of `SigC'
NB, j'ai essayé de mettre 'slot' à la place de 'mem_fun', ça n'a rien changé, ça ne semble donc pas être un problème de version.
J'ai mis dans les options du projet le résultat des commandes de config. pkg-config --cflags gtkmm-2.4 et pkg-config --libs gtkmm-2.4. Malgré cela, ça semble être un problème d'include, semble-t-il qu'il ne sache pas où aller chercher le namespace SigC, bien que j'aie installé GTK dans C:\Dev-Cpp.
Et vu que je touche pas grand chose quand il s'agit de comprendre comment marche la prog. à un peu plus bas niveau, je suis un peu en galère alors que ça doit être je pense tout con ...
Bref, merci si qui que ce soit peut m'aider.