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

C Discussion :

La librairie libsx génère des erreurs


Sujet :

C

  1. #1
    Débutant
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 60
    Points
    60
    Par défaut La librairie libsx génère des erreurs
    salut
    je suis débutant en C
    je dois utiliser la librairie libsx pour ecrire un programme mais j'ai des messages d'erreur quand j'essaie de compiler un code d'exemple que j'ai trouvé en ligne:

    Le code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include "libsx.h"
     
    int main(){
     int i;  /* j'ai ajouté cette valeur pour OpenDisplay() */
     i = OpenDisplay();
     MakeLabel("Hello World !");
     ShowDisplay();
     MainLoop();
     
     return 0;
    }
    Les erreurs générées sont:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     undefined reference to OpenDisplay()
     undefined reference to MakeLabel()
     undefined reference to ShowDisplay()
     undefined reference to MainLoop()
     collect 2: ld a retourné un code d'état d'executtion
    NB: svp est- ce qu'il y a une différence entre
    include <libsx.h> et include "libsx.h"


    Merci de me sauver la vie.
    sam

  2. #2
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 342
    Points : 130 320
    Points
    130 320
    Billets dans le blog
    1
    Par défaut
    Il ne faut pas seulement inclure le fichier .h, mais aussi lier la bibliothèque à ton application lors de la liaison. Sous gcc, c'est l'option -l suivi du nom de la lib (sans le mot "lib" devant) qui fait ça. Le fichier bibliothèque peut avoir l'extension .lib, ou .so, ou .a.

    Par exemple (c'est une supposition) :
    gcc -lsx -o executable source.c

    Entre #include "" et #include <> il n'y a qu'une légère différence ; la version avec les guillemets cherche le fichier .h d'abord dans le dossier courant avant de chercher dans les dossiers prédéfinis. La version avec les <> ne cherche que dans les dossiers prédéfinis.

  3. #3
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: La librairie libsx génère des erreurs
    Citation Envoyé par fofovi72
    je dois utiliser la librairie libsx pour ecrire un programme mais j'ai des messages d'erreur quand j'essaie de compiler un code d'exemple que j'ai trouvé en ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     undefined reference to OpenDisplay()
     undefined reference to MakeLabel()
     undefined reference to ShowDisplay()
     undefined reference to MainLoop()
     collect 2: ld a retourné un code d'état d'executtion
    NB: svp est- ce qu'il y a une différence entre
    include <libsx.h> et include "libsx.h"
    Oui, mais en ce qui te concerne, ce n'est pas le problème. Ton vrai problème est un problème de linker ('ld', c'est le linker). Celui-ci n'a pas pu résoudre les appels que tu fais, car il manque prpbablement une bibliothèque au projet.

    http://emmanuel-delahaye.developpez....m#bibliotheque

    Celle-ci doit être ajoutée explicitement au projet, probablement par une option "-lsx" a ajouter à la ligne de commande du linker. (Ou dans les paramètres qui vont bien de ton gestionnaire de projet)

    Détails dans la doc d'installation de ta bibliothèque.

Discussions similaires

  1. Gestionnaire d'évènement génère des erreurs
    Par akrogames dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/08/2009, 18h20
  2. Réponses: 4
    Dernier message: 14/07/2009, 19h47
  3. Une fonction Trim génère des erreurs
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2007, 12h40
  4. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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