Linker un programme

Résolu
RMEU Messages postés 36 Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je veux compiler et linker un programme. La compilation se passe bien, mais le link pas du tout; il sort un tas d'undefined reference concernant des manipulations de String. Quelle librairie dois-je spécifier en input (sur la ligne de commande ) pour éliminer ces erreurs?
Merci d'avance

7 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Peux-tu nous reporter le message d'erreur exact (ainsi que les headers utilisés dans le(s) fichier(s) faisant appel à la fonction ntas ?

    Supposons que ntas soit founie par la librairie libtoto.so, alors la ligne de compilation pour linker sera du genre :

    gcc -W -Wall main.c -o programme -ltoto

    Bonne chance
    0
  2. RMEU Messages postés 36 Statut Membre
     
    En fait, le programme principal inlut <exception> et <iostream>.
    Ce programme fait appel à ine librairie composée d'un seul module et celui-ci inclut string.h.
    la compilation se passe bien pour les 2 entités, la librairie et le module. C'est au moment du link (ld) que celui-ci sort des erreurs telles aue : undefined reference to 'std::basic_string<char, std::char_traits<char>, std:allocator<char> >::assign(char const *)
    Il semble qu'il me manque une librairie en input du linker. Mais laquelle?

    Merci d'avance
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Tu compiles bien avec g++ ?
    0
  4. RMEU Messages postés 36 Statut Membre
     
    Bonjour,

    oui, je compile avec g++
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Peux-tu nous donner un exemple minimal de code provoquant cette erreur (idéalement le code source de ton programme et un makefile que tu peux mettre en partage sur un site quelconque) et nous indiquer quelle version de g++ tu utilises.

    dpkg -l | egrep '(c|g)\+\+'

    Essaye aussi de voir si une mise à jour ne résout pas le problème.

    Bonne chance
    0
  7. RMEU Messages postés 36 Statut Membre
     
    Bonjour,

    Désolé de répondre si tardivement (vacances). J'ai trouvé, il s'agissait d'une erreur de ma part.
    Merci pour vos recherches et vos efforts

    Bonne journée
    0
  8. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Ok bonne continuation !
    0