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 :

Problème de linkage de bibliothèques statiques C & C++


Sujet :

C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut Problème de linkage de bibliothèques statiques C & C++
    Bonjour,

    Je travaille sous Mac OS 10.5 (avec XCode 3.1 & gcc 4) et j'ai un soucis avec le linkage de mes bibliothèques...

    J'ai 3 bibliothèques statiques, A B et C ainsi qu'un programme principal.
    Les lib A et B sont en c pur, la lib C est en c++ et le main en c++.
    La lib B utilise A. C utilise A et B, et le main A, B et C.

    Toutes les compilations s'effectuent très bien. Le linkage du main pose cependant problème. Toutes les lib sont bien trouvées par le compilateur, mais il ne parvient pas à réaliser les liens de la lib C (en c++), vers les lib A et B (toutes deux en c). Cependant les liens du main (en c++) vers les lib A et B (en c) sont bien effectués... ce qui me laisse perplexe...

    Avez-vous une petite idée de ce qui se passe ?

    Merci de votre aide.

  2. #2
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Ce serait peut-être plus simple avec le détail de l'erreur de link ?

    À la louche, je pencherai pour un symbole défini plusieurs fois (ou pas défini). Mais sans le détail ni du code ni du compilateur, ça va être difficile...

  3. #3
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Il faut les mettre dans le bon ordre (C, B, A) dans la ligne de l'edition de liens. Un editeur de liens prend dans une bibliotheques les objets fournissant des symboles manquants au moment ou il examine la bibliotheque puis n'y revient pas, meme si la bibliotheque fournit des symboles utiles a une bibliotheque suivante. Parfois il est necessaire de mettre plusieurs fois une ou plusieurs bibliotheques s'il y a des references croisees.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 704
    Points
    704
    Par défaut
    Bon j'ai trouvé l'erreur et c'est lamentable je sais...
    J'ai oublié de faire un "svn update" ce matin, du coup les "extern C" n'étaient pas présent sur le code source de ma machine du jour... Et j'ai pas vérifié puisque j'étais certains de les avoir mis !!!

    Il faut les mettre dans le bon ordre (C, B, A) dans la ligne de l'edition de liens.
    Je ne suis pas certain... J'ai effectivement lu des choses dans ce sens, mais pour avoir essayé (arpès avoir remis les "extern C"), l'ordre de linkage de mes lib dans l'appli finale ne change rien (ie ça link très bien quelque soit l'ordre)...

    Merci comme même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de linkage statique sous G++
    Par esteban dans le forum C++
    Réponses: 1
    Dernier message: 19/08/2010, 19h27
  2. Problème de lien avec une bibliothèque statique
    Par streetpc dans le forum C++/CLI
    Réponses: 2
    Dernier message: 28/10/2006, 17h38
  3. Problème de linkage avec la librairie DevIl
    Par Drannor dans le forum DevIL
    Réponses: 1
    Dernier message: 18/01/2006, 23h05
  4. Utiliser une bibliothèque statique
    Par djflex68 dans le forum MFC
    Réponses: 6
    Dernier message: 15/08/2005, 19h26
  5. Problème de linkage
    Par lvdnono dans le forum Windows
    Réponses: 4
    Dernier message: 15/06/2004, 12h32

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