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 :

Gtkmm glade undefine ref to _g_log


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 4
    Par défaut Gtkmm glade undefine ref to _g_log
    Bon voila,
    j'ai plusieurs questions concernant Gtk et codeblocks, sous windows.
    je suis passé de Gtk+ a Gtkmm (honte a moi), suite a un souci de compile,
    je souhait utiliser la libraire LGL, l'équivalent de graphiz mais en 3d...
    Mais cette lib est en c++ et la compilation de mon projet ne marchais plus a cause de interpréteur C.
    Ca donne des erreur a la compile genre 'expected , or ... before struct' rien qu'en incluant leurs configs.h
    J'ai refait un projet codeblock, avec l'option C++ activée (projet console en c++), tien si quelqu'un sait comment on change cette option sur un projet existant je suis preneur !

    Sinon mon souci actuel pour Gtkmm/GtkBuilder est un "undefined reference to _g_log' en appelant la fonction void GtkBuilder::GetWidget (Glib::ustring, GtkWindow*); pour info j'ai déja eu cette erreur sur une autre fonction, ptètre bien glade et j'ai du utiliser un autre proto présent qui retournait ma valeur au lieu de la passer en param... sauf que sur ce coup ci, c'est la seule présente dans le fichier builder.h, je suspècte que ca viennent d'un g_critical() présent dans cette fonction...

    Donc soit quelqu'un a une super idée pour réussir a compiler la lib LGL avec du code C, soit comment résoudre le _g_log.
    Merci par avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 4
    Par défaut
    Bon je peu pas retirer le message alors je vais me répondre...
    Ben il fallait linker la librairie glib-2.0 en plus....
    Je suppose que ca doit venir d'un développement en cours sur l'unicode, qui include glib.h.

    Sinon si quelqu'un a une idée pour la compilation en c je suis toujours preneur, vu que je suis plus habitué a Gtk c...

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Oula, c'est très confus tout ça, surtout sans message d'erreur. Je te recommande de respirer un grand coup et de repartir du début, et de regarder très attentivement les messages d'erreur, en particulier les tout premiers qui te sont signalés (des fois tu as 150 messages différents, mais tous causés par la tout première erreur).

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 4
    Par défaut
    Désolé je vais tenté d'expliquer mieu pour le souci de compil en C.
    je rajoute la ligne en haut de mon fichier h
    #include <configs.h>

    et j'ai exactement:

    ..\lib\LGL-1.1\boost-1.30.2\boost\config\compiler\gcc.hpp|81|warning: #warning "Unknown compiler version - please run the configure tests and report the results"|

    suivit de plein plein de:
    D:\work\ia\ia\ia-gui\ia-gui-interface.h|117|error: expected `,' or `...' before "struct"|

    Mais avec un code en c++, j'ai pas le souci, juste le:
    D:\work\TMap\lib\LGL-1.1\boost-1.30.2\boost\config\compiler\gcc.hpp|81|warning: #warning "Unknown compiler version - please run the configure tests and report the results"|

    Et même si je copie une définition de structure comme je le fait en Gtk+, dans mon code c ca passe....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    typedef struct _Machin                  Machin;
     
    struct _Machin{
     
       /* Variables Public */
     
    };
     
    Machin * fct();  /* En c Erreur générée a cet endrois */

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Ah oki, si LGL inclue des headers de boost "automatiquement", il y a de bonnes chances qu'il faille que tu indiques que tu souhaites faire un projet c++ (ie utiliser g++ pour compiler). Par contre tu devrais tout de même pouvoir utiliser gtk+ (et pas gtkmm).

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par teuf13 Voir le message
    Ah oki, si LGL inclue des headers de boost "automatiquement", il y a de bonnes chances qu'il faille que tu indiques que tu souhaites faire un projet c++ (ie utiliser g++ pour compiler). Par contre tu devrais tout de même pouvoir utiliser gtk+ (et pas gtkmm).
    Je confirme. Je développe de plus en plus en C++ tout en utilisant Gtk+. Pas d'incompatibilité en soit.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 4
    Par défaut
    Hum oui je confirme aussi, que ca fonctionne.
    Sauf quand on utilise une variable comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    GuiEntite* gui_interface_ajout_entite (GuiInterface *interface,
                                                        const gchar       *nom,
                                                        const mCG::vR3    *position = NULL);
    Et que il y a un include a windows.h planqué qui lui même redéfini, une classe "interface", du coup ca compile plus
    avec un "_" devant, et ca compile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    GuiEntite* gui_interface_ajout_entite (GuiInterface *_interface,
                                                        const gchar       *nom,
                                                        const mCG::vR3    *position = NULL);
    Ben en tout ca merci d'avoir insisté, au moins j'ai trouvé, désolé j'aurai du copier la vrai ligne de code... ma faute.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. winsock.h : undefined reference...
    Par abraxas dans le forum Dev-C++
    Réponses: 14
    Dernier message: 06/08/2012, 13h42
  2. g++ : undefined reference to ...
    Par le_barbu dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 14/05/2004, 07h23
  3. REF CURSOR... Comment ça marche ?
    Par Patkaza dans le forum SQL
    Réponses: 6
    Dernier message: 28/04/2004, 14h26
  4. Installation d'Anjuta + Glade
    Par Noki dans le forum Applications et environnements graphiques
    Réponses: 12
    Dernier message: 31/03/2004, 23h17
  5. [HQL]QueryException : undefined alias
    Par brice.antoine dans le forum Hibernate
    Réponses: 5
    Dernier message: 31/03/2004, 18h51

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