2009-03-04 7 views
1

ベクトル統計ライブラリー(数学カーネルライブラリーに含まれています)をLinux用インテルFortranコンパイラーでコンパイルしたFortran 90ソース・コードにリンクする方法を教えてください。ベクトル統計ライブラリー - 数学カーネルライブラリー

次のように私のメイクに見える:

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 

次のエラーを生成します。

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

ただし、ファイルが指定したディレクトリ(mklpath)に存在します。

ありがとうございます!

+0

ifortからのエラーメッセージが表示されますか?問題を診断するためにそれを投稿すると便利です。 –

答えて

2

ファイルは実際にどのように呼び出されますか? -lは実際のファイル名を取ることを意図したものではありません。これは[x]を取ることを意味し、見つかるファイルはlib [x]。{so、a}と呼ばれます。

実際のオブジェクトファイル名を指定する場合は、-lを使用せずに絶対パスを使用するか、-l:[ファイル名]を使用するだけです。

しかし、私はあなたのためにそれを行う正しい方法は-lmkl_ia32です。 rawファイル名はlibがlib [x]と呼ばれていない場合にのみ有効です。{so、a}

関連する問題