2009-03-04 6 views
1

Kann mir jemand (in einfachem Englisch) erklären, wie man die Vector Statistical Library (in der Math Kernel Library enthalten) mit einem Fortran 90 Quellcode verbindet, der mit Intel Fortran Compiler für Linux kompiliert?Vector Statistical Library - Math Kernel-Bibliothek

Mein 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 den folgenden Fehler:

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

jedoch die Datei vorhanden ist in dem angegebenen Verzeichnis (mklpath).

Danke !!

+0

Siehst du eine Fehlermeldung von ifort? Es könnte nützlich sein, dies zu posten, um Ihr Problem zu diagnostizieren. –

Antwort

2

Wie heißt die Datei wirklich? -l zum Linker soll keinen echten Dateinamen annehmen. Es soll [x] sein, während die zu findende Datei lib [x]. {So, a} heißt.

Wenn Sie den tatsächlichen Objektdateinamen angeben möchten, können Sie ihn entweder einfach ohne -l und mit dem absoluten Pfad anhängen oder -l: [Dateiname] verwenden.

Ich nehme an, der richtige Weg, es für Sie zu tun ist -lmkl_ia32 jedoch. Raw-Dateinamen sind nur nützlich, wenn die Lib nicht lib [x] heißt. {So, a}