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+ Discussion :

référence indéfinie vers.


Sujet :

GTK+

  1. #1
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut référence indéfinie vers.
    Bonjour,

    Je ne suis pas sûr que ce soit la bonne façon de poser ma question .. J'ai juste essayé de résoudre le problème pendant 4 jours, et je suis extrêmement frustré en ce moment ... J'ai le problème suivant:

    J'ai installé Ubuntu 13. et certaines bibliothèques et paquets par la suite. J'ai ensuite installé glib2 Tout s'est bien passé, je suis pas d'erreurs lorsque vous faites. / Configure, make, make install ou. Cependant, quand j'essaye de compiler un fichier de test en C, je peux compiler sans erreurs, mais je reçois les erreurs suivantes:


    main.c:116: référence indéfinie vers « g_hash_table_new_full »

    main.c:139: référence indéfinie vers « g_hash_table_lookup »

    main.c:168: référence indéfinie vers « g_hash_table_insert »

    main.c:181: référence indéfinie vers « g_hash_table_lookup »

    main.c:211: référence indéfinie vers « g_hash_table_insert »

    main.c:250: référence indéfinie vers « g_hash_table_lookup »

    Je compile avec
    gcc -D_GNU_SOURCE -I/usr/include/glib-2.0 -I/usr/include/glib-2.0/glib.h -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ -lglib-2.0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -Wall -Wextra -std=c99 -lm *.c -o formattage



    I am not sure if this is the correct way of asking my question.. I just tried to solve the problem for 4 days, and I am extremely frustrated right now... I have the following issue:

    I installed Ubuntu 13. and some libraries and packages afterwards. I then installed glib2 Everything went fine, I got no errors when doing ./configure, make, or make install. However, when I try to compile a test file in C, I can compile without errors, but I get the following errors:

    main.c:116: référence indéfinie vers « g_hash_table_new_full »

    main.c:139: référence indéfinie vers « g_hash_table_lookup »

    main.c:168: référence indéfinie vers « g_hash_table_insert »

    main.c:181: référence indéfinie vers « g_hash_table_lookup »

    main.c:211: référence indéfinie vers « g_hash_table_insert »

    main.c:250: référence indéfinie vers « g_hash_table_lookup »

    I compile with:

    gcc -D_GNU_SOURCE -I/usr/include/glib-2.0 -I/usr/include/glib-2.0/glib.h -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ -lglib-2.0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -Wall -Wextra -std=c99 -lm *.c -o formattage

    pkg-config --cflags --libs glib-2.0
    donne:
    -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lglib-2.0
    Une idée svp?

    Merci
    Le jour est le père du labeur et la nuit est la mère des pensées.

  2. #2
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Points : 3 700
    Points
    3 700
    Par défaut
    tu aurais du installer les paquets disponibles : libglib2.0-dev

    sinon, as-tu bien ajouté cette ligne en en-tête de ton main.c ?
    ceci dit, le soucis est que la glib n'est pas trouvée, le "linker" ne fait pas le lien avec elle
    si tu as bien télécharger les dernières sources stables : http://ftp.gnome.org/pub/gnome/sources/glib , c'est bien ./configure make et make install. puis en dernier ldconfig pour dire où ce trouve les bibliothèques.

    ensuite il suffit d'indiquer à gcc `pkg-config --cflags --libs glib-2.0`
    (marquer un post résolu si vous êtes satisfait de la réponse )
    ma page launchpad https://launchpad.net/~inizan-yannick
    ma page github : https://github.com/inizan-yannick

  3. #3
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut
    Merci
    J'ai essayé come tu m'a indiqué mais que dalle


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc `pkg-config --cflags --libs glib-2.0` -D_GNU_SOURCE -I/usr/include/glib-2.0 -I/usr/include/glib-2.0/glib.h -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ -L/usr/share/doc/libglib2.0-0 -lglib-2.0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -Wall -Wextra -std=c99 -lm *.c -o formattage
    Il m'indique ca en plus :

    cc1: warning: /usr/include/glib-2.0/glib.h: not a directory [enabled by default]
    /tmp/ccmU1aM0.o: dans la fonction « hashSeqFct »:
    /home/cyrine/Bureau/Formattage32/main.c:16: référence indéfinie vers « g_str_hash »
    /tmp/ccmU1aM0.o: dans la fonction « eqSeqFct »:
    /home/cyrine/Bureau/Formattage32/main.c:24: référence indéfinie vers « g_str_equal »
    /tmp/ccmU1aM0.o: dans la fonction « lecture »:
    /home/cyrine/Bureau/Formattage32/main.c:115: référence indéfinie vers « g_hash_t
    Le jour est le père du labeur et la nuit est la mère des pensées.

  4. #4
    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
    C'est normal, l'option -I indique un répertoire à ajouter à ceux où le compilateur va chercher les fichiers d'en-tête. Là tu lui fournis un fichier en argument, ça ne peut pas fonctionner.
    Remplace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -I/usr/include/glib-2.0/glib.h
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -I/usr/include/glib-2.0
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

Discussions similaires

  1. référence indéfinie vers « _imp__Py_SetProgramName »
    Par ttf dans le forum Interfaçage autre langage
    Réponses: 5
    Dernier message: 29/03/2011, 14h01
  2. Réponses: 2
    Dernier message: 08/03/2010, 17h00
  3. référence indéfinie vers « vtable for FenPrincipale
    Par yLaplace dans le forum Débuter
    Réponses: 5
    Dernier message: 01/03/2010, 13h49
  4. Réponses: 10
    Dernier message: 02/01/2007, 12h07
  5. [Linker MinGW]Références indéfinies mais libs incluses
    Par oiffrig dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 31/08/2006, 13h35

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