24小时热门版块排行榜    

CyRhmU.jpeg
查看: 847  |  回复: 1

小木虫于

金虫 (正式写手)

[求助] f2py wrap fortran 2003 to python interface

一直用f2py把fortran的程序转换成python的接口,但是最近碰到一个问题。

在用fortran2003 编写面向对象的程序时,f2py无法识别Class关键字,因为在type链接的subroutine或者function中,class()声明的变量同样是intent(in)的. f2py编译出错。

用gfortran编译的错误如下:
vars2fortran: No typespec for argument "self".

用ifort编译错误信息如下:
ifort:f90: /tmp/tmp7e1233i1/src.linux-x86_64-3.5/x-f2pywrappers2.f90
/tmp/tmp7e1233i1/src.linux-x86_64-3.5/x-f2pywrappers2.f90(10): error #6633: The type of the actual argument differs from the type of the dummy argument.   [SELF]
      kk2f2pywrap = kk2(self, q)
------------------------^
compilation aborted for /tmp/tmp7e1233i1/src.linux-x86_64-3.5/x-f2pywrappers2.f90 (code 1)
/tmp/tmp7e1233i1/src.linux-x86_64-3.5/x-f2pywrappers2.f90(10): error #6633: The type of the actual argument differs from the type of the dummy argument.   [SELF]
      kk2f2pywrap = kk2(self, q)
------------------------^


最后不得不吧写好的oop的代码,重新改写。 求可以直接封装编译面向对象的fortran成python的方法。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weilai00

新虫 (小有名气)

楼主是要混编?
2楼2018-08-10 18:35:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小木虫于 的主题更新
信息提示
请填处理意见