Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code::Blocks, GTK | Impossible de compiler

fatal error : gtkmm.h: No such file or directory

    9 octobre 2019 à 16:35:57

    Bonjour à tous,

    J'ai voulu essayer de faire une interface graphique en C++, je suis donc allé regarder sur openclassrooms si il y avait un tuto adapté. Je l'ai trouvé et je l'ai suivi à la lettre. J'installe GTK, je fais les changements nécessaires dans les paramètres de C::B. J'arrive à la partie : Compiler votre première application où l'on me demande de copier le code ci-dessous :

    (<

    #include <gtkmm.h>


    int main(int argc, char* argv[]) {

        Gtk::Main app(argc, argv);

        Gtk::Window fenetre;

        Gtk::Main::run(fenetre);

        return 0;

    }

    Je compile et cela ne marche pas. Il est alors affiché dans "build messages" : fatal error: gtkmm.h: No such file or directory

    J'ai regardé sur openclassrooms si quelqu'un avait déjà eu ce problème mais les réponses apportés sont incompréhensibles pour moi, grand débutant avec GTK et intermédiaire en C++. Je vous demande alors de ne pas trop utiliser de vocabulaire complexe, de manière à ce que moi et les autres personnes débutantes qui auront ce problème également comprenons.

    Merci d'avance de vos réponses,


    • Partager sur Facebook
    • Partager sur Twitter
      12 octobre 2019 à 9:27:20

      Bonjour,

      Débutant, moi aussi, je vais faire ce que je peux pour t'aider.

      • La premiere ligne de to code est #include <gtkmm.h>
      • et l'erreur du compilateur est : "build messages" : fatal error: gtkmm.h: No such file or directory.
      • Diagnotique: Le compilateur ne trouve pas le fichier gtkmm.h!

      En effet il faut que tu lui dise dans quelle directory (ou folder) il doit le trouver! Pour moi, il faudrait que tu ajoute la directory où se trouve ce fichier dans " Project / build option / Search Directory /  compiler". Mais ou il se trouve, j'en ai aucune idée !

      Je me permet une petite question: Pourquoi souhaites tu développer avec GTK ? Sauf erreur de ma part, c'est une (vielle) librairie en C, dédiai à Linux. Bien sur, elle doit avoir plein d'avantages (et bien sûr, d'inconveignants) par rapport au autre librairie, mais à ton niveau est-ce-que ça a un intérêt ? Sauf erreur de ma part, c'est GTK+ qui est sa surcouche en C++.

      Déjà, C::B est prévu pour réaliser des HMI en wxWidgets. C'est peut-être plus facile (a tester).

      Et puis, tu as un framework intégré qui sera sûrement bien plus facile à utiliser: Qt.

      Enfin, ce n'est que mon avis.

      Bien cordialement.

      • Partager sur Facebook
      • Partager sur Twitter
        12 octobre 2019 à 11:52:34

        Salut,

        Le tuto sur gtkmm d'openclassroom est vieux et non maintenu, des choses peuvent avoir changé depuis. D'ailleurs il traite de gtk 2 alors que gtk 3 est sorti, quelle version utilises tu ?

        En effet le soucis vient d'une erreur d'installation, le mieux pour ça c'est de suivre la doc, et il n'y a malheuresement pas d'installeur tout prêt pour windows pour le moment, la méthode recommandée (et la plus simple) c'est de le faire par MSYS2.

        Dedeun a écrit:

        Je me permet une petite question: Pourquoi souhaites tu développer avec GTK ? Sauf erreur de ma part, c'est une (vielle) librairie en C, dédiai à Linux. Bien sur, elle doit avoir plein d'avantages (et bien sûr, d'inconveignants) par rapport au autre librairie, mais à ton niveau est-ce-que ça a un intérêt ? Sauf erreur de ma part, c'est GTK+ qui est sa surcouche en C++.

        GTK+ est la lib C, et GTKmm (qu'il utilise) est le wrapper C++, pas de soucis de ce côté là.
        Il s'agit d'une vieille lib, certes, mais activement maintenue. On pourrait en dire autant de Qt.
        Elle n'est pas dédiée à Linux, au contraire elle a été pensée multiplateforme, cependant le reproche qu'on lui fait souvent c'est de ne pas utiliser le style natif du système (ce que je trouve marrant vu la popularité des appli electron tels que discord)

        Dedeun a écrit:

        Déjà, C::B est prévu pour réaliser des HMI en wxWidgets. C'est peut-être plus facile (a tester)

        C::B est fait avec wxWidget, mais je ne crois pas qu'il est particulièrement prévu pour travailler avec wxWidget
        C::B manque de pas mal de fonctionnalités par rapport aux autres IDE, je conseillerais plutôt de travailler avec QtCreator ou VisualStudio

        Dedeun a écrit:

        Et puis, tu as un framework intégré qui sera sûrement bien plus facile à utiliser: Qt.

        Pareil, je trouve Qt plus abordable
        • Partager sur Facebook
        • Partager sur Twitter
        Dream on, Dream on, Dream until your dream comes true
          12 octobre 2019 à 19:02:38

          romantik a écrit:

          ...

          Dedeun a écrit:

          Déjà, C::B est prévu pour réaliser des HMI en wxWidgets. C'est peut-être plus facile (a tester)

          C::B est fait avec wxWidget, mais je ne crois pas qu'il est particulièrement prévu pour travailler avec wxWidget
          ...

          Sur la version que j'ai, C::B permet de réaliser un projet wxWidgets certainement vide (une fenêtre Vide ?). J'ai essayer, ça ne compile pas: Mème ereur:

          fatal error: wx/wx.h: Aucun fichier ou dossier de ce type

          Il doit falloir installer wxWidgets, c'est peut-être pas fait par defaut.

          • Partager sur Facebook
          • Partager sur Twitter

          Code::Blocks, GTK | Impossible de compiler

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown