1

gcc を使用して、最新バージョンのmingwを使用して、いくつかの Fortran ソース ファイルを Windows プラットフォームにコンパイルし*.libまし*.dllた。使用した gcc はバージョン 3 です。出力の結果は、およびです。arpack_win32.dllblas_win32.dlllapack_win32.dll

次に、 に対して sssimp.f をコンパイルし、Windows用の Intel Visual Fortran コンパイラを使用します。これらの dll を使用するためです。しかし、これは不可能だという印象を受けました ( Intel サポート フォーラムから) 。arpack_win32.dllblas_win32.dlllapack_win32.dllsssimp.f

私の印象は正しいですか?それとも、基礎となるライブラリと dll を生成できる限り (コンパイラの種類や古いものに関係なく)、それらをベース ライブラリと dll として使用でき、最新または任意のバージョンからそれらにリンクできます。古い、コンパイラ?

4

2 に答える 2

1

g77 は IVF とは異なる ABI を使用します。そのため、体外受精に g77/f2c 互換性オプションがない限り、機能しません。

最も簡単な解決策は、おそらく IVF を使用してライブラリもコンパイルすることです。

于 2010-01-27T02:00:18.030 に答える
0

すでに指摘したように、異なる呼び出し規則を持つコンパイラを混在させることは非常に困難になる可能性があります。

Intel フォーラムでのその回答は、Fortran 90 に変換されたバージョンの arpack を指摘していました -- http://people.sc.fsu.edu/~burkardt/f_src/arpack/arpack.html -- 使用できますか? http://people.sc.fsu.edu/~burkardt/f_src/lapack/lapack.htmlおよびhttp://people.sc.fsu.edu/~burkardt/f_src/blas1_s/blas1_s.htmlも参照してください。

または、インテル® Visual Fortran は、適切なコンパイラー・オプションを使用して Fortran 77 をコンパイルできるはずです。どの言語構成要素を拒否していますか?

于 2010-01-27T02:46:21.700 に答える