用户定义派生类型 IO 文件在 gfortran 上编译
User defined derived type IO file compile on gfortran
我正在尝试使用 GNU Fortran 编译 this link 示例 1 中提供的示例代码。我已将源代码放在名为 "Test" 的 .f95 文件中,并尝试使用
在 cmd
中编译它
gfortran test.95
这会引发很多错误,如下所示:
GENERIC :: READ (FORMATTED) => UDIO_READ_ARRAY
1
Error: Expected '=>' at (1)
test.f95:12:17:
INTERFACE WRITE(FORMATTED)
1
Error: Syntax error: Trailing garbage in INTERFACE statement at (1)
test.f95:13:21:
MODULE PROCEDURE UDIO_WRITE_ARRAY
1
Error: MODULE PROCEDURE at (1) must be in a generic module interface
test.f95:14:5:
END INTERFACE
1
Error: Expecting END MODULE statement at (1)
test.f95:51:6:
USE TYPES
1
Fatal Error: Can't open module file 'types.mod' for reading at (1): No such file
or directory
compilation terminated.
为什么会这样?我该如何解决?
为什么会这样?
因为 gfortran 5.1.0 不支持派生类型 input/output (DTIO)。
我该如何解决?
下载MinGW-w64版本>=7.1.0
https://sourceforge.net/projects/mingw-w64/files.
我正在尝试使用 GNU Fortran 编译 this link 示例 1 中提供的示例代码。我已将源代码放在名为 "Test" 的 .f95 文件中,并尝试使用
在cmd
中编译它
gfortran test.95
这会引发很多错误,如下所示:
GENERIC :: READ (FORMATTED) => UDIO_READ_ARRAY
1
Error: Expected '=>' at (1)
test.f95:12:17:
INTERFACE WRITE(FORMATTED)
1
Error: Syntax error: Trailing garbage in INTERFACE statement at (1)
test.f95:13:21:
MODULE PROCEDURE UDIO_WRITE_ARRAY
1
Error: MODULE PROCEDURE at (1) must be in a generic module interface
test.f95:14:5:
END INTERFACE
1
Error: Expecting END MODULE statement at (1)
test.f95:51:6:
USE TYPES
1
Fatal Error: Can't open module file 'types.mod' for reading at (1): No such file
or directory
compilation terminated.
为什么会这样?我该如何解决?
为什么会这样?
因为 gfortran 5.1.0 不支持派生类型 input/output (DTIO)。
我该如何解决?
下载MinGW-w64版本>=7.1.0 https://sourceforge.net/projects/mingw-w64/files.