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 :

aide compilateur erreur


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut aide compilateur erreur
    ... bonjour a tous ... lorsque je compile avec mon Makfile j'obtient ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    /tmp/ccgcEuSe.o: In function `ArrayData<unsigned char>::ArrayData()':
    GraphCut.cpp:(.gnu.linkonce.t._ZN9ArrayDataIhEC1Ev+0x41): undefined reference to `invt_allocate(unsigned int)'
    /tmp/ccgcEuSe.o: In function `ArrayData<unsigned char>::acquire()':
    GraphCut.cpp:(.gnu.linkonce.t._ZN9ArrayDataIhE7acquireEv+0x2c): undefined reference to `check_acquisition(StoragePolicy, int)'
    /tmp/ccgcEuSe.o: In function `ArrayData<unsigned char>::~ArrayData()':
    GraphCut.cpp:(.gnu.linkonce.t._ZN9ArrayDataIhED1Ev+0x3c): undefined reference to `invt_deallocate(void*)'
    collect2: ld returned 1 exit status
    j'utilise des objects d'une librairie et c en les instanciant que ca plante !! je suis un peu perdu quant il faut compiler, qq peut m'aider
    merci

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    L'erreur provient de l'édition des liens. Tu as dû oublier soit : de définir des fonctions ou des méthodes (il n'existe que le prototype ce qui explique pourquoi la compilation marche) ou soit d'ajouter un fichier objet à la compilation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    invt_allocate(unsigned int)
    Cette fonction n'a été trouvé nul part et tu l'utilises. Tu as donc dû oublier de : la définir ou d'ajouter le fichier qui le définis lors de l'édition des liens (sous forme de fichier objet ou de bibliothèques)

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    merci pour ta reponse ... le truc c que j'inclue uniquement un .h d'une autre librairie !! donc comme c externe bah je sais pas trop quoi faire. Comment ca marche normalement quant tu inclue une librairie ??

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Il faut faire une édition des liens avec, par exemple, avec SDL, lors de l'édition des liens, il faut ajouter -lSDL (g++ -o machin machin.o machin2.o -lSDL).

    Après, ça dépend quel est le nom de ta bibliothèque.

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    well ca c bien se que je me disais merci ca m'eclaircie quant meme pas mal les choses ...

    mais en gros voili j'ai une seule fonction (qui utilise Image.H d'une librairie) ce que je comprends pas c si je fait ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int run(const Image<byte> bwImg, const Image<byte> background)
    {    
       return 3;
    }
    tout va bien

    mais si je fais ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int run(const Image<byte> bwImg, const Image<byte> background)
    {    
       const Image<byte> myImg;
       return 3;
    }
    rien ne va plus ... de meme que ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Image<byte> run(const Image<byte> bwImg, const Image<byte> background)
    {    
       return bwImg;
    }
    je sais pas trop quoi comment linker ....
    et gros j'utilise une librarie qui est en plein de morceau ... pour te la decrire c classer comme sui:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      saliency (nom de la librairie)
         - src
             - dossier1
             - dossier2
             - ....
          - build
             - obj
                 - dossier1
                 - dossier2
                 - ...
    avec apres l'avoir compiler les objet.so ayant la meme repartition ds les repertoires que les sources ....
    pour le moment j'utilise que Image.H qui n'est qu'un header donc je ne fait que -L/.../src
    et dans mon fichier cpp j'inclue dossier/Image.H .... ce qui pour moi a du sens mais peut etre pas ???

    dit moi ce que tu en pense la je suis un peu pommer et je sais pas comment regler le probleme !!
    merci

Discussions similaires

  1. [phpBB] Erreur rencontrée suite à l'installation du mod pseudo subforum
    Par rocket_270 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 02/03/2007, 13h48
  2. Aide compréhension erreur
    Par calitom dans le forum Langage
    Réponses: 3
    Dernier message: 15/12/2006, 21h05
  3. aide SVP : erreur de connection, tns protocol
    Par isidore dans le forum Connexions aux bases de données
    Réponses: 5
    Dernier message: 04/04/2006, 16h16
  4. Réponses: 7
    Dernier message: 30/10/2005, 12h54
  5. [Compilateur] erreur sur le lancement de la compilation
    Par wickramben dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/05/2005, 18h43

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