1

链接到 FORTRAN 库时,我的 setup.py 脚本无法正常工作。

我几乎没有使用图书馆的经验,所以我可能会使用不正确的术语。我有一个使用 FMLIB fortran 包的 fortran 模块。FMLIB 包包含三个我已编译为 .o 文件的 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'])

但是,当我尝试安装时,它说它不能使用 FMZM,因为找不到 .mod 文件。我应该在 Extension 中使用不同的关键字来链接到库,还是链接到 mod 文件?或者还有什么我应该做的吗?distutils 的文档相对较少。

4

1 回答 1

2

弄清楚了。

只需要添加include_dirs = ['<DIRECTORY WITH .MOD FILES>']然后library_dirs = [<DIRECTORY>]更改库关键字以仅包含没有路径的文件名。

似乎工作。

于 2012-06-22T06:49:35.063 回答