IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

[C++] Compilation de code utilisant gtkmm sous windows


Sujet :

GTK+ avec C & C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 12
    Points : 7
    Points
    7
    Par défaut [C++] Compilation de code utilisant gtkmm sous windows
    Bonjour a tous,

    Apres avoir passé mon apres midi (et ma soirée eventuellement...) a essayer de compiler un programme utilisant GTK+ via la librairie gtkmm, je me decide enfin a venir demander votre aide...

    J'ai a ma disposition une machine virtuelle avec windows, un code source minimal (une fenetre avec un label) fonctionnant sans souci sous linux.
    Et jusqu'ici, impossible de compiler correctement cette application pour windows...
    Une charitable serait elle donc en mesure de m'expliquer comment :
    - installer mingw correctement sous windows (de maniere a etre capable de compiler un code C++)
    - installer gtkmm pour windows
    - compiler un script utilisant la librairie gtkmm sous windows une fois l'installation faite (options de compilation notamment)

    A noter que j'ai deja essayé par moi meme d'installer ces differentes composantes et de les faire marcher de concert, mais devant mon impuissance a arriver a mes fins, je prefere essayer de reprendre les choses a zero...

    Merci d'avance pour votre aide,

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 28
    Points
    28
    Par défaut
    Bonjour N3mesis98,

    J'avais fourni des versions précompilées et un tutoriel GTKmm il y a quelques temps, je me permets de te rediriger :

    http://www.tarnyko.net/?q=node/25

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Je me rappel etre tombé plusieurs fois sur ton site, notamment sur cette page...

    Mais jusqu'ici je n'ai pas reussi a compiler mon script de base avec ton environnement...
    En fait, j'installe ton environnement de compilation directement dans mon C:. Une fois fait, j'ai bien acces aux commandes g++, gcc etc. Mais pas de commande compile_gtkmm3...

    J'imagine bien que le probleme viens d'une mauvaise utilisation de ta réalisation, mais je n'arrive pas a trouver ou est ce que je me suis planté...

    Au passage, voici le script que j'utilise pour faire mes tests, il me semble que c'est le code minimal pour une interface GTK :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <gtkmm.h>
     
    int main(int argc, char* argv[]) {
    	Gtk::Main app(argc, argv);
    	Gtk::Window window;
    	Gtk::Main::run(window);
    	return 0;
    }

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bon, ça avance vaguement...

    J'ai repris le tutoriel gtkmm du SdZ et j'ai réessayé de faire fonctionner gtkmm...

    Alors il semble que tout compile normalement avec la fameuse option :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    `pkg-config gtkmm-2.4 --cflags --libs`
    Mais quand j'essaye de lancer mon application, je ne vois meme pas ma fenetre se lancer, seulement un message d'erreur windows, et pas de message d'erreur particulier...

    Nom : capture-d-cran-de...15-55-15-4430bf0.png
Affichages : 1258
Taille : 7,1 Ko

    Je dois avouer que je n'y comprend pas grand chose, a la limite si il y avait des erreurs mises en valeur, mais la on dirais que ça plante sans raison (et surtout, sous linux ça marche comme sur des roulettes...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bon, j'ai finalement reussi a faire fonctionner tout ça avec ton environment. Du moins ça marche pour le test fourni et pour le petit que je m'etais fait...

    En revanche, je n'arrive pas a le faire fonctionner pour un test utilisant glade. La compilation semble se derouler sans probleme, mais quand je lance l'application rien ne s'affiche et en l'executant en console j'ai un message comme quoi une erreur Gtk a été reçue...
    Ci joint les differentes parties du code:

    main.cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include "main.hpp"
     
    // variables ////////
     
     
    // functions ////////
     
     
    // main ////////
    int main(int argc, char* argv[]) {
    	Gtk::Main app(argc, argv);
    	Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("gui.glade");
     
    	Gtk::Window* window=0;
    	builder->get_widget("window1",window);
     
    	Gtk::Main::run(*window);
    	return 0;
    }
    main.hpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #ifndef Main_H
    #define Main_H
     
    // includes ///////
    #include <iostream>
    #include <gtkmm.h>
     
    // namespace ////////
    using namespace std;
     
    // defines ////////
     
    // types ////////
     
     
    // prototypes ////////
     
     
    #endif
    gui.glade:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Generated with glade 3.16.1 -->
    <interface>
      <requires lib="gtk+" version="3.10"/>
      <object class="GtkWindow" id="window1">
        <property name="can_focus">False</property>
        <child>
          <object class="GtkLabel" id="label1">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="label" translatable="yes">label</property>
          </object>
        </child>
      </object>
    </interface>
    Sinon j'ai aussi une autre petite question, est il possible avec ton environnement de compilation d'ajouter des options de compilations ? Si oui comment ? Je pense notamment a l'utilisation de l'option permettant de compiler des scripts en utilisant C++11...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 26
    Points : 28
    Points
    28
    Par défaut
    Bonsoir N3mesis98,

    Désolé pour le délai, mais je réponds quand je trouve le temps.
    Alors pour le souci d'appli : malheureusement je fais peu de C++ ; mais l'utilisation du pointeur "window" me paraît étrange, ce ne serai pas plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Gtk::Window *window;
    builder->get_widget("window1",&window);
     
    Gtk::Main::run(window);
    PS : je peux complètement me planter. Il faudrait t'inspirer de code existant.

    Pour la compil oui, il suffit d'éditer le script (ou ta commande de compil) et rajouter le paramètre approrié dans la ligne "g++ ..."

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,

    Pas de probleme pour le temps de reponse
    J'ai un peu de mal avec le C++ aussi, mon langage de prédilection c'est plutot le python...

    Mais il me semble que mon code doit etre correcte etant donné que c'est le meme ici : https://developer.gnome.org/gtkmm-tu...idgets.html.fr

  8. #8
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Je confirme, c'est correct. C'est du passage par référence d'un pointeur.
    Cf la doc: https://developer.gnome.org/gtkmm/st...179a52df3d160a

Discussions similaires

  1. Compiler un programme GTK+3 sous Windows
    Par Luke spywoker dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 28/12/2014, 14h53
  2. Compilation gtkmm sous windows
    Par Anium dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 11/06/2008, 09h09
  3. [Debutant] Compiler un serlvet pour tomcat sous windows
    Par Braz dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/01/2006, 00h46
  4. Utiliser FD_SET sous Windows sur l'entré STDIN ?
    Par MonsieurAk dans le forum Windows
    Réponses: 6
    Dernier message: 09/12/2005, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo