Biblioteca estadística de vectores - Biblioteca del núcleo de matemáticas

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

  •  03-07-2019
  •  | 
  •  

Pregunta

¿Alguien podría explicarme (en un lenguaje sencillo) cómo vincular la Vector Statistical Library (incluida en la Math Kernel Library) con un código fuente Fortran 90 que compila con el compilador Intel Fortran para Linux?

Mi makefile tiene el siguiente aspecto:

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

Produce el siguiente error:

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

Sin embargo, el archivo existe en el directorio especificado (mklpath).

¡Gracias!

¿Fue útil?

Solución

¿Cómo se llama realmente el archivo? -l al enlazador no está destinado a tomar un nombre de archivo real. Se supone que toma [x], mientras que el archivo que se encuentra se llama lib [x]. {So, a}.

Si desea dar el nombre real del archivo de objeto, puede simplemente agregarlo sin usar -l y usar la ruta absoluta, o usar -l: [nombre de archivo].

Supongo que la forma correcta de hacerlo por ti es -lmkl_ia32 sin embargo. Los nombres de archivo sin procesar solo son útiles si la biblioteca no se llama lib [x]. {So, a}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top