lapackサブルーチンを使用するFortran 90プログラムがあり、私のUbuntuシステムで正常に動作しています。今はMac(OS Xバージョン10.11.4)で実行したいと思っています。私は、ホームビルドリポジトリからインストールされたgccの一部としてgfortranコンパイラを使い、/ usr/local/lib /にインストールされているlapackライブラリを使用しています。私は、問題は連結ためであることを理解いくつかのGoogle検索後lapackライブラリとfftw3ライブラリをリンクする際の問題
gfortran my_prog.f90 -L/usr/local/lib/ -llapack
Undefined symbols for architecture x86_64:
"_daxpy_", referenced from:
_zggbal_ in liblapack.a(zggbal.o)
...
"_ztrmv_", referenced from:
_zlarft_ in liblapack.a(zlarft.o)
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
:私は私のコードをコンパイルしようとすると は、私は次のエラーを取得します。私はこのようにそれをコンパイルすると、すべてがうまく機能:
gfortran my_prog.f90 -llapack
枠組み加速からllapackを使用した場合も、コンパイラは文句はありません。
gfortran my_prog.f90 -framework accelerate
ライブラリはx86-64のアーキテクチャである:
lipo -info *.a
input file libfftw3.a is not a fat file
input file liblapack.a is not a fat file
Non-fat file: libfftw3.a is architecture: x86_64
Non-fat file: liblapack.a is architecture: x86_64
LAPACKは、後に同じ問題がFFTW3が表示され、私にエラーを与えるだけではありません。あなたは私にこの問題の解決策のヒントを教えてください。
'daxpy'と' ztrmv'はBlasライブラリの一部であり、lapackではありません。したがって、 '-llapack -lblas'を実行してBlasとリンクすることはできますか? – francis