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 :

Installation de FFTW sous VisualC++ 2008 Express


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut Installation de FFTW sous VisualC++ 2008 Express
    Bonjour,

    J'essaye en vain de faire fonctionner la librairie FFTW sous Visual C++ 2008.
    J'ai essayé plusieurs packages précompilés (trouvés sur www.fftw.org) ainsi que ceux de Millie (http://humbert-florent.developpez.co...aitement/fftw/).

    Malheureusement, j'ai toujours l'erreur suivante:
    error LNK2019: symbole externe non résolu _fftw_malloc@4 référencé dans la fonction "private: void __thiscall CRechCentre::TakeReferenceRotation(unsigned char *)" (?TakeReferenceRotation@CRechCentre@@AAEXPAE@Z)
    1>Debug\RechCentre.dll : fatal error LNK1120: 1 externes non résolus

    J'ai l'impression que le compilateur ne trouve pas le fichier fftw3.dll, pourtant j'ai spécifié le chemin dans les Popriétés du projet->Editeur de liens->Général->Répertoires de bibliothèques supplémentaires

    Quelqu'un pourrait-il m'aider ?

    Merci d'avance,

    Xavier

  2. #2
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Citation Envoyé par XavierBreuer Voir le message
    Malheureusement, j'ai toujours l'erreur suivante:
    error LNK2019: symbole externe non résolu _fftw_malloc@4 référencé dans la fonction "private: void __thiscall CRechCentre::TakeReferenceRotation(unsigned char *)" (?TakeReferenceRotation@CRechCentre@@AAEXPAE@Z)
    1>Debug\RechCentre.dll : fatal error LNK1120: 1 externes non résolus

    J'ai l'impression que le compilateur ne trouve pas le fichier fftw3.dll, pourtant j'ai spécifié le chemin dans les Popriétés du projet->Editeur de liens->Général->Répertoires de bibliothèques supplémentaires
    Ca ne suffit pas pour linker une librairie. Trois choses à faire:
    • Ajouter le .h de la librairie au projet (si nécessaire, ajouter le chemin dans les propriétés du projet)
    • Spécifier dans Popriétés du projet->Editeur de liens->Général->Répertoires de bibliothèques supplémentaires le chemin de la libirairie (.LIB)
    • Ajouter dans Popriétés du projet->Editeur de liens->Entrée->Dépendances supplémentaires le .LIB de la librairie (et non la .DLL)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Bonjour SpoutSpout,

    Merci pour ta réponse.

    La première condition était vérifiée (concernant le .h).
    En ce qui concerne les points 2 et 3, en fait, dans les "Dépendances supplémentaires", j'avais bien ajouté le .lib (avec son chemin de localisation absolu c:\visual\fftw\fftw3.lib, donc il trouvait bien le .lib (confirmé d'ailleurs car si je retire la ligne, l'erreur change et est explicite).

    J'ai refait des tests en suivant tes conseils, mais j'ai toujours la même erreur.

    Une idée de ce qui pourrait la causer ? Que faut-il faire du fichier fftw3.dll ? Faut-il le placer dans un répertoire particulier ?

    De façon plus générale, quelqu'un utilise-t-il FFTW avec VisualC++ ? Si oui, avec quel package FFTW ?

    Merci d'avance pour votre aide,

    Xavier

  4. #4
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Au moment de la compilation, tu n'as besoin que du .h et du .lib. La dll ne sera utilisée qu'à l'exécution.

    L'erreur que tu rencontres indique clairement qu'il ne trouve pas la fonction _fftw_malloc(). Es-tu sûr que cette fonction existe (après une brève lecture de la DLL et du .h, il semblerait que ce soit fftw_malloc()).
    Utilises-tu d'autres fonctions de la librairie?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    En tous cas, elle semble exister car "l'écriture automatique" de VC++ me propose les paramètres pour cette fonction et de plus, j'ai simplement recopié un exemple... Maintenant, ce n'est pas moi qui ai fait le .lib.

    Voici mes lignes de code source:

    fftw_complex *in, *out;
    fftw_plan p;

    in= (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * NC);

    En tous cas, merci pour tes réponses,

    Xavier

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Je viens de créer une application console Win32 pour faire un test de la fftw. Cette fois, cela fonctionne immédiatement, plus de problème le link, pourtant j'ai inclu exactement les mêmes références dans les propriétés de VC++.

    La seule différence avec mon application précédente, c'est que celle-ci est en réalité une DLL (un filtre Directshow).
    Y a-t-il d'autres choses à faire (ou à configurer) pour utiliser une lib (fftw3.lib) dans une DLL ?

    Merci d'avance pour votre aide,

    Xavier

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/12/2009, 23h11
  2. installer directx sdk sous visual c++ express 2008
    Par argon dans le forum DirectX
    Réponses: 1
    Dernier message: 16/10/2009, 08h07
  3. utiliser ReportViewer sous vb 2008 Express
    Par bhc25 dans le forum VB.NET
    Réponses: 1
    Dernier message: 24/03/2009, 13h14
  4. Problème pour lancer un fichier sous VB 2008 Express Edition
    Par bluetotoro dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/09/2008, 21h54
  5. probleme de l'installation de openssl sous mandriva 2008
    Par youssef_baba dans le forum Mandriva / Mageia
    Réponses: 2
    Dernier message: 29/04/2008, 10h15

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