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
    Membre averti
    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
    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
    Expert éminent

    Avatar de Anomaly
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 380
    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
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    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