sherault
Messages postés4Date d'inscriptionjeudi 16 novembre 2000StatutMembreDernière intervention14 mars 2010
-
14 mars 2010 à 15:20
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
21 mars 2010 à 13:14
Bonjour,
J'ai besoin d'utiliser certaines fonctions de la librairie "CLAPACK" pour du calcul d'algèbre linéaire dans ma dll (réalisée avec Visual C++ Express 2008 pour la rendre utilisable sur le système Windows Seven 64bits).
L'utilisation de cette librairie ne posait aucun pb avec Visual C++ 6.0, mais avec VC++ Express 2008, je bloque.
Lors de la compilation, j'obtiens ce genre de message d'erreur:
error C3861: 'dgetrf_' : identificateur introuvable
(dgetrf_ étant la fonction de la librairie à laquelle je fais appel dans ma dll)
Je précise que :
- j'ai bien associé à mon projet les fichiers d'entête "blaswrap.h", "clapack.h" et "f2c.h",
- j'ai bien ajouté le chemin du répertoire où est situé la librairie "clapack.lib" dans les propriétés de mon projet (Editeur de liens / Général / Répertoire de bibliothèques suppl.)
- j'ai également précisé le nom de la librairie dans les propriétés de mon projet (Editeur de liens / Entrées / Dépendances supplémentaires)
Merci de votre aide, si quelqu'un est familier de l'utilisation de cette librairie CLAPACK avec VC++ Express 2008, ou a déjà été confronté à ce pb.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 21 mars 2010 à 13:14
Bonjour,
Il y a deux principaux types de problèmes lors de l'emploi d'une bibliothèque tiers.
1) Les problèmes à la compilation (Problème de .h).
2) Les problèmes au link (Problème de .lib ou de .a).
Quand on tombe sur un problème, une première chose à faire est de déterminer si le souci est en 1) ou en 2).
Dans ton cas, il est en 1), vu que c'est une CXXX et pas une LNKXXX. Donc tu peux mettre les options du lieurs de côté. C'est un problème de .h.
Je suppose que tu as fait l'include du bon fichier .h avant que la fonction ne soit utilisée ?
Ensuite, rien ne t'interdit de consulter les .h en question pour y chercher la fonction qu'il te manque.
Quand tu l'aura trouvé, vérifie que tout va bien, et regarde du côté des ifdef qui peuvent "cacher" des fonctions.