Partage
  • Partager sur Facebook
  • Partager sur Twitter

c++ linking libcblas.a

Sujet résolu
    5 octobre 2007 à 12:25:44

    Bonjour,

    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
    • Partager sur Facebook
    • Partager sur Twitter
      10 octobre 2007 à 1:42:38

      On m'a donné la solution.

      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.


      • Partager sur Facebook
      • Partager sur Twitter

      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.
      • Editeur
      • Markdown