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 :

Lien avec une librairie statique


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut Lien avec une librairie statique
    Bonjour,

    Je suis sous Linux. Ayant une erreur à l'exécution de mon programme pour trouver les librairies lorsque je link en dynamique, j'essaie de contourner le problème en faisant le link en statique.
    Le début de mon makefile est celui-ci (généré automatiquement, je ne fais que modifier la ligne LDFLAGS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CC = gcc -g
     
    CFLAGS = -Iinclude  -gstabs -I/home/...
    LDFLAGS = -static -L/usr/lib -lm -L/home/...
     
    OBJ = obj
    SRC = src
     
    etc.
    Lorsque je fais un make, j'ai perdu toutes les fonctions de maths (et probablement d autres, mais la compil s'arrête) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    obj/toto1.o(.text+0x683): In function `fct1':
    src/toto1.c:944: undefined reference to `sqrt'
    obj/toto1.o(.text+0xa45): In function `fct2':
    src/toto1:1176: undefined reference to `atan2'
    obj/toto1.o(.text+0xa54):src/toto1.c:1176: undefined reference to `sin'
    J ai vérifié que les fichiers libm.a et libm.so (nécessaire ?) sont bien dans /usr/lib.
    Je ne vois pas où est le problème, alors si quelqu'un à une idée ?
    Merci

  2. #2
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Est ce que je peut voire tous le fichier Makefile ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut
    Voilà en pièce jointe :
    Fichiers attachés Fichiers attachés

  4. #4
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Bon le Makefile est correcte, j'ai pas trouvé une faute !!!

    Est ce que tu as essayé sans spécifié l'emplacement de la bib math, parce que normalement elle doit être connu par le système LINUX ????

    Et quand exactement l'erreur apparaisse ?

  5. #5
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Hey attend, dans le Makefile, il y a des chose comme CrossTools,, est ce que vous utilisé le même compilateur gcc du système ???

    Si vous utilisé une chaine de compilation pour la cross compilation, il y aura une confusion au niveau de lien, même si vous specifié la biblio.

    Tous simplement parce que les deux binaire n'ont pas la même structure interne .........

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 53
    Par défaut
    au départ effectivement, il n y avait pas l emplacement de la bib math :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LDFLAGS = -static -lm -L/home/Soft/Gcc/Linux/3.3.2/lib -lg2c -L/home/CrossTools/simucom/V2.6_beta_2/Linux/i686 -L/home/CrossTools/DiSCo/Ref/DiSCo_4.7/install/Linux-2.4.7-10/Release/lib -L/home/CrossTools/LibTIM/V2.1.0-beta3/BINARIES/Linux/RH7.2/i686 -L/home/SIMU_ASPIC/ASPIC_TRAVAIL/ASPIC/ASPIC_V11.2_RHEL4/Linux/2.6.19-rt12/i686/libc-2.3.4/gcc3.4.3/Debug/lib -L/home/CrossTools/LibSIGEXT/V1.6_bouchon/ -L/home/CrossTools/LibNET/V1.0/Linux/i686 -L/home/CrossTools/LibSYNCHRO/V1.3/Linux/i686 -lDSC_Trace -lDiSCo -DINVERT_LITTLEBIG
    mais ça faisait l erreur, donc je l ai ajouté.

    Sinon, l erreur apparait apres avoir fait tous les .o de tous les fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gcc -g -Iinclude  -gstabs -I/home/CrossTools/simucom/V2.6_beta_2/Linux/i686 -I/home/CrossTools/DiSCo/Ref/DiSCo_4.7/install/inc -I/home/CrossTools/LibTIM/V2.1.0-beta3/BINARIES/Linux/RH7.2/i686 -I/home/SIMU_ASPIC/ASPIC_TRAVAIL/ASPIC/ASPIC_V11.2_RHEL4/Linux/2.6.19-rt12/i686/libc-2.3.4/gcc3.4.3/Debug/lib -I/home/CrossTools/LibSIGEXT/V1.6_bouchon/ -I/home/CrossTools/LibNET/V1.0/Linux/i686 -I/home/CrossTools/LibSYNCHRO/V1.3/Linux/i686 -DINVERT_LITTLEBIG -D_LINUX  -c src/vector.c -o obj/vector.o
    J ai ce bloc pour tous les fichiers et après, j ai l erreur.

    Sinon, je ne comprends pas, désolée :
    est ce que vous utilisé le même compilateur gcc du système ???

    Si vous utilisé une chaine de compilation pour la cross compilation, il y aura une confusion au niveau de lien, même si vous specifié la biblio.

Discussions similaires

  1. Problème avec une librairie statique
    Par flo_k dans le forum C
    Réponses: 2
    Dernier message: 21/09/2009, 22h50
  2. Comment lier une application avec une librairie statique ?
    Par michel_bbm dans le forum Visual C++
    Réponses: 7
    Dernier message: 08/04/2008, 15h49
  3. Problème de lien avec une bibliothèque statique
    Par streetpc dans le forum C++/CLI
    Réponses: 2
    Dernier message: 28/10/2006, 18h38
  4. [java] établir un lien avec une application java
    Par pmartin8 dans le forum Access
    Réponses: 2
    Dernier message: 19/10/2005, 15h36
  5. [RCP] pb d'export du produit avec une librairie
    Par nuandafr dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 19/08/2005, 13h08

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