【发布时间】:2017-12-28 10:00:59
【问题描述】:
我正在尝试构建包含适用于 Python 3.5 和更高版本的 f90 代码的 Python 扩展。以前,我能够使用 MinGWPy 项目使用 gfortran 构建扩展。但是,MinGWPy 不支持 Python 3.5 及更高版本,最近已停产。
如何为包含 Fortran 的 3.5 版及更高版本构建 Python 扩展?
特别要记住使用的构建系统:numpy.distutils 以及它如何将 Fortran 库直接静态链接到使用默认 C 编译器编译的包装器。
【问题讨论】:
-
“据我所知,不再可能编译 fortran 扩展......” 你为什么这么认为?你遇到过什么样的问题? C 编译器究竟在哪些方面与 gfortran 不兼容?我在使用 Fortran_C 互操作(又名 iso c 绑定)的 Microsoft C++ 代码中使用 gfortran 代码就好了。
-
所以更多的是关于 gcc 而不是 gfortran。它是关于 C 包装层的。在这种情况下,您不能只定义链接中第一条评论中提到的宏吗?请务必在问题中包含您拥有的所有重要信息,如果没有该链接,问题将非常不清楚。
-
mingwpy.github.io/proposal_december2015.html 这个链接比较清楚一点。我问的正是我想要回答的问题。如果有一个复杂的方法需要对我的代码进行大量修改,那么它不是我可以使用的解决方案。
-
“我问的正是我想要回答的问题。” 请理解,如果问题需要在 cmets 中进行澄清,它可能不完整或缺乏激励信息这通常非常重要。评论可以随时删除,这就是为什么它应该在问题中,而不是在 cmets 中。
标签: python-3.x fortran f2py