FORTRAN 77 プログラムで BLAS を動作させようとしていますが、これまでのところうまくいきませんでした。参考までに、Ubuntu 12.10でこれを行っています。
これは私がコンパイルしようとしているプログラムのコードです:
program blastest
implicit none
include 'cblas_f77.h'
end
ファイルcblas_f77.h
は にあり、 にはと(およびその他の BLAS 関連ファイルの束) の/usr/include
両方があります。libblas.a
libblas.so
/usr/lib
これが正しく機能するようにどのように構成しますか?
これまでのところ、次のことを試しました。
注:-lblas
どちらのオプションに追加しても、まったく違いはありません...
ただf77
、オプションはありません(これがうまくいくとは思っていませんでしたが、一体何...):
$ f77 blastest.f -o blastest
MAIN blastest:
Cannot open file cblas_f77.h
/usr/bin/f77: aborting compilation
f77
ヘッダー ファイルを検索するための include オプションを使用します。現在、代わりに(ファイル名にもかかわらず)FORTRAN 77を念頭に置いてコーディングされていないため、最初の6列は空ではありません...
$ f77 blastest.f -o blastest -I/usr/include
MAIN blastest:
Error on line 1 of /usr/include/cblas_f77.h: nondigit in statement label field "/* "
Error on line 2 of /usr/include/cblas_f77.h: labeled continuation line (starts " * cbl")
Error on line 3 of /usr/include/cblas_f77.h: labeled continuation line (starts " * Wri")
...
完全な出力: http://pastebin.com/eZBzh9N5
に切り替えgfortran
、ヘッダー ファイルのスペースをより柔軟に使用できるようにします。
$ gfortran blastest.f -o blastest -I/usr/include
Warning: cblas_f77.h:9: Illegal preprocessor directive
Warning: cblas_f77.h:10: Illegal preprocessor directive
Warning: cblas_f77.h:12: Illegal preprocessor directive
...
完全な出力: http://pastebin.com/P71Di9pR
OK、-cpp
プリプロセッサを機能させる必要があると思いました。上記とまったく同じ出力が得られました。また、読み続けると、完全な出力が表示されますが、コンパイラはラベル付きの継続行についてまだ不平を言っています...