Frage

Könnte mir jemand (in einfachem Englisch) erklären, wie die Vector Statistische Bibliothek verknüpfen (in der Math Kernel Library enthalten) an eine Fortran 90 Quellcode mit Intel Fortran Compiler für Linux kompilieren?

My Make-Datei sieht wie folgt aus:

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

Es erzeugt die folgenden Fehler:

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

Es besteht jedoch die Datei im angegebenen Verzeichnis (mklpath).

Danke !!

War es hilfreich?

Lösung

Wie wird die Datei wirklich genannt? -l an den Linker wird keine realen Dateinamen zu übernehmen soll. Es sollte nehmen [x], während die Datei dann genannt gefunden werden soll, lib [x]. {So, a}.

Wenn Sie die realen Objekt Dateinamen geben möchten, können Sie entweder nur anhängen, ohne -l und mit dem absoluten Pfad oder -l.: [Dateiname]

Ich gehe davon aus, den richtigen Weg, es zu tun für Sie -lmkl_ia32 jedoch ist. Raw-Dateinamen sind nur dann sinnvoll, wenn die lib nicht lib [x] bezeichnet wird. {So, a}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top