2009-03-04 8 views
1

Quelqu'un pourrait-il m'expliquer (en anglais) comment lier la bibliothèque statistique de vecteur (incluse dans la bibliothèque de noyau mathématique) à un code source Fortran 90 compilant avec le compilateur Intel Fortran pour Linux?Bibliothèque de statistiques vectorielles - Bibliothèque de noyaux mathématiques

Mon makefile se présente comme suit:

f90comp = ifort 
libdir = /home/project/ 
mklpath = /opt/intel/mkl/10.0.5.025/lib/32/ 
mklinclude = /opt/intel/mkl/10.0.5.025/include/ 

exec: AAA.o 
    $(f90comp) -o AAA -L$(mklpath) -I$(mklinclude) AAA.o -libmkl_ia32.a -lguide -lpthread 

AAA.o: $(libdir)AAA.f90 
    $(f90comp) -c -L$(mklpath) -I$(mklinclude) $(libdir)AAA.f90 -libmkl_ia32.a -lguide -lpthread 

Il produit l'erreur suivante:

ld: cannot find -libmkl_ia32.a 
make: *** Error 1 

Cependant, le fichier existe dans le répertoire spécifié (mklpath).

Merci!

+0

Un message d'erreur de ifort s'affiche-t-il? Il pourrait être utile de poster cela pour aider à diagnostiquer votre problème. –

Répondre

2

Comment le fichier est-il appelé? -l à l'éditeur de liens n'est pas destiné à prendre un nom de fichier réel. Il est censé prendre [x], alors que le fichier à trouver est appelé lib [x]. {So, a}.

Si vous voulez donner le nom de fichier de l'objet réel, vous pouvez simplement l'ajouter sans utiliser -l et en utilisant le chemin absolu, ou utiliser -l: [nomfichier].

Je suppose que la bonne façon de le faire pour vous est -lmkl_ia32 cependant. Les noms de fichiers bruts ne sont utiles que si la lib n'est pas appelée lib [x]. {So, a}