Bibliothèque statistique vectorielle - Bibliothèque de noyau mathématique

StackOverflow https://stackoverflow.com/questions/611109

  •  03-07-2019
  •  | 
  •  

Question

Quelqu'un pourrait-il m'expliquer (en anglais simplifié) comment lier la bibliothèque statistique Vector (incluse dans la bibliothèque Math Kernel) à un code source Fortran 90 compilé avec le compilateur Intel Fortran pour Linux?

Mon fichier 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

Cela 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 !!

Était-ce utile?

La solution

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

Si vous voulez donner le nom de fichier de l'objet réel, vous pouvez soit l'ajouter sans utiliser -l et le chemin absolu, soit utiliser -l: [nom du fichier].

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top