Je tente de linker un programme C++ avec les bibliothèques libcblas.a et libatlas.a mais sans succes (blas = Basic Linear Algebra Subprograms)
J'utilise le compilateur gcc 3.3.6.
Il me semble que la commande que j'utilise est correcte:
g++ -Lmon_chemin -o nom_executable mon_fichier_compile.o -lcblas -latlas
Mais ça ne marche pas. Pour chaque méthode que j'appelle j'ai un message
"undefined reference".
Si j'extrais de l'archive libcblas.a le fichier compilé .o qui contient une méthode
que j'appelle et si je linke avec ce .o, ça marche.
Sincèrement je ne vois pas du tout ce qui se passe. Je n'ai jamais eu ce genre
de problème avec une bibliothèque .a. Est ce que je dois utiliser
des options de compilations supplémentaires ?
Merci d'avance pour toute aide.
Amicalement,
Michel
La bibliothèque libcblas.a contient des .o de sources C.
Or je fais des appels depuis C++.
Il faut donc que j'utilise: extern "C"
dans l'include "cblas.h" qui contient toutes les déclarations des méthodes que j'appelle depuis mon programme.
L'édition de liens que je fais est donc bonne. Attention il faut respecter l'ordre:
-lcblas -latlas.
c++ linking libcblas.a
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.