1

FORTRAN ライブラリにリンクするときに、setup.py スクリプトを正しく動作させるのに問題があります。

私はライブラリの経験がほとんどないため、間違った用語を使用している可能性があります。FMLIB fortran パッケージを使用する fortran モジュールがあります。FMLIB パッケージには、.o ファイルにコンパイルした 3 つの f95 ファイルが含まれています。このモジュールは、Python モジュールによって使用されます。setup.py ファイルでは、拡張機能を使用します。

shapelets = Extension('PyCosmology.shapelets.fort.shapelets', 
                     ['PyCosmology/shapelets/fort/find_coeffs.f90'],
                       libraries = [<DIRECTORY>./FM.o'
                       '<DIRECTORY>/FMSAVE.f95',
                       '<DIRECTORY>/FMZM90.f95'],
                       extra_f90_compile_args=['-Wtabs'],
                       f2py_options=['--quiet'])

しかし、インストールしようとすると、.mod ファイルが見つからないため、FMZM を使用できないと表示されます。Extension で別のキーワードを使用してライブラリにリンクするか、代わりに mod ファイルにリンクする必要がありますか? それとも他にやるべきことがありますか?distutils のドキュメントは比較的まばらです。

4

1 に答える 1

2

理解した。

libraries キーワードを追加include_dirs = ['<DIRECTORY WITH .MOD FILES>']してから、パスのないファイル名のみを含むように変更するだけです。library_dirs = [<DIRECTORY>]

うまくいくようです。

于 2012-06-22T06:49:35.063 に答える