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

Discussion :

Utiliser une bibliothèque statique ?

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 106
    Par défaut Utiliser une bibliothèque statique ?
    Bonjour,

    Mon projet global comprend une librairie statique compilée avec le .pro suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TARGET = kissfft
    TEMPLATE = lib
    CONFIG += staticlib
     
    [...]
     
    DESTDIR = bin
    Et une application qui utilise cette librairie statique avec le .pro suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LIBS += -Lkissfft/bin -lkissfft
    INCLUDEPATH += kissfft
    DEPENDPATH += kissfft/bin
    PRE_TARGETDEPS += kissfft/bin
    J'utilise Qt Creator 2.6.0 avec Qt5b2, et le compilateur MSVC2010.

    Dès que mon application essaye d'utiliser la librairie statique, j'obtiens ce genre d'erreurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    buffer.obj:-1: erreur : LNK2019: unresolved external symbol "void __cdecl kiss_fftr(struct kiss_fftr_state *,float const *,struct kiss_fft_cpx *)" (?kiss_fftr@@YAXPAUkiss_fftr_state@@PBMPAUkiss_fft_cpx@@@Z) referenced in function "public: virtual void __thiscall threadR2C::run(void)" (?run@threadR2C@@UAEXXZ)
     
    texbuffer.obj:-1: erreur : LNK2001: unresolved external symbol "void __cdecl kiss_fftr(struct kiss_fftr_state *,float const *,struct kiss_fft_cpx *)" (?kiss_fftr@@YAXPAUkiss_fftr_state@@PBMPAUkiss_fft_cpx@@@Z)
    Je ne comprend pas pourquoi ces erreurs de linkage, dans la mesure ou c'est le même compilateur qui est utilisé pour la librairie et l'application ... Une idée ?

    NB: la fonction qui n'est pas trouvé (kiss_fftr) n'est pas une fonction déclaré dans le header global de la librairie, mais une fonction intrinsèque à la librairie (appelée par une fonction du header global, mais qui ne fait pas partie du header global).

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 106
    Par défaut
    Problème résolu, j'avais zappé un define dans le .pro de mon application (qui etait présent dans le .pro de ma librairie, du coup le header de la librairie n'etait pas exactement le meme dans les 2 cas).

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 15/03/2010, 20h01
  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. Réponses: 2
    Dernier message: 02/05/2006, 14h34
  4. utiliser une bibliothèque....
    Par miminou dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 18/12/2005, 20h26
  5. Utiliser une bibliothèque statique
    Par djflex68 dans le forum MFC
    Réponses: 6
    Dernier message: 15/08/2005, 19h26

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