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

Langage C++ Discussion :

Problème avec des symboles durant le link


Sujet :

Langage C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Par défaut Problème avec des symboles durant le link
    Bonjour,

    J'ai un souci étrange quand je linke une DLL à un exécutable. Le linker (mingw32-g++) n'arrive pas à linker tous les symboles. C'est à dire que si je ne spécifie pas la DLL, naturellement, j'ai une tonne d'erreurs mais si je la spécifie, il me reste encore quelques undefined references qui traînent alors que les symboles sont bien présents dans la DLL (nm.exe).. Comme si le linker ne voyait pas spécifiquement ces symboles..

    Est-ce que ça vous évoque quelque chose ?

    Merci bien

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 450
    Par défaut
    Bonjour,

    Sur quelle plateforme travailles-tu ? À vue de nez, ça a l'être d'être MinGW sous Windows.

    Ensuite, il est possible que ce que tu vois ne soit pas les symboles définis par ta bibliothèque, mais ceux d'une autre bibliothèque à laquelle la tienne est elle-même dépendante. De quels symboles s'agit-il ?

    Enfin, si c'est bien du C++ que tu fais, il se peut que tu sois confronté à la décoration des noms de fonctions, qui permet entre autres au compilateur C++ de faire de la surcharge. Si tu fais référence à des fonctions définies en C sans le préciser à ton compilateur (avec « extern "C" »), alors celui-ci va chercher les noms de fonctions décorés et ne les trouvera pas.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Par défaut
    Sur quelle plateforme travailles-tu ? À vue de nez, ça a l'être d'être MinGW sous Windows.
    Affirmatif !

    Ensuite, il est possible que ce que tu vois ne soit pas les symboles définis par ta bibliothèque, mais ceux d'une autre bibliothèque à laquelle la tienne est elle-même dépendante. De quels symboles s'agit-il ?
    A priori non. (option -g ajoutée à nm.exe => seulement les symboles externes)

    Enfin, si c'est bien du C++ que tu fais,
    Vi, en effet (d'où mon post dans le forum c++ )

    il se peut que tu sois confronté à la décoration des noms de fonctions,
    Pas de soucis de mangling, sinon mes autres symboles seraient affectés également.
    J'ai fait le test de rajouter une 3ème classe afin de générer un nouveau symbole externe. Il se trouve que ce nouveau symbole n'est pas atteignable par le linker, lui non plus. Comme si j'avais atteint une certaine limite..

    J'ai fait un ptit test de faire un exe avec un main et une classe qui fait appel à ces symboles, en me liant à la DLL les contenant. Et là, pas de souci. Ce qui tendrait à prouver que le problème vient, non pas de la DLL, mais de l'exe qui tente de s'y lier..

Discussions similaires

  1. Réponses: 12
    Dernier message: 24/09/2010, 00h08
  2. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  3. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  4. [STRUTS] Problème avec des ActionForm
    Par zarbydigital dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/03/2004, 13h49
  5. Problèmes avec des vues
    Par dady dans le forum MFC
    Réponses: 22
    Dernier message: 09/01/2004, 16h26

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