Problème de lien avec librairie clapack.lib

Signaler
Messages postés
4
Date d'inscription
jeudi 16 novembre 2000
Statut
Membre
Dernière intervention
14 mars 2010
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
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.

1 réponse

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
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.