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).