我正在尝试使用Python读取一些smps文件,发现了一种Fortran实现方式,于是我想尝试一下用f2py。问题是我没有任何Fortran经验。
我已经在我的Linux机器上成功安装了gfortran和f2py,并且运行了f2py网页上的例子,但是我在编译和运行大型程序时遇到了一些问题。这里有两个文件,一个是文件读取器包装器,一个是所有逻辑的文件。它们似乎互相调用,但是当我编译、链接或尝试使用f2py时,我会得到错误,说它们无法找到彼此。
我也尝试将名称更改为FILE_WRAPPER.F,但没有帮助。
使用f2py,我发现必须包含注释才能使其接受自由格式,并将其保存为新文件并尝试:
我收到了很多输出和警告,但错误似乎是这个:
我已经在我的Linux机器上成功安装了gfortran和f2py,并且运行了f2py网页上的例子,但是我在编译和运行大型程序时遇到了一些问题。这里有两个文件,一个是文件读取器包装器,一个是所有逻辑的文件。它们似乎互相调用,但是当我编译、链接或尝试使用f2py时,我会得到错误,说它们无法找到彼此。
f95 -c FILEWR~1.F
f95 -c SMPSREAD.F90
f95 -o smpsread SMPSREAD.o FILEWR~1.o
FILEWR~1.o In function `file_wrapper_'
FILEWR~1.F(.text+0x3d) undefined reference to `chopen_'
usrlibgcci486-linux-gnu4.4.1libgfortranbegin.a(fmain.o) In function `main'
(.text+0x27) undefined reference to `MAIN__'
collect2 ld returned 1 exit status
我也尝试将名称更改为FILE_WRAPPER.F,但没有帮助。
使用f2py,我发现必须包含注释才能使其接受自由格式,并将其保存为新文件并尝试:
f2py -c -m smpsread smpsread.f90
我收到了很多输出和警告,但错误似乎是这个:
getctype: No C-type found in "{'typespec': 'type', 'attrspec': ['allocatable'], 'typename': 'node', 'dimension': [':']}", assuming void.
Fortran 90 SPMS读取器可以在这里找到。欢迎提供任何帮助或建议。