我正在尝试在Win 10 + Portable Msys2下使用带有 gfortran 8.2.0的模块。 在Ubuntu 18.04LTS下的 gfortran 7.3.0 不会出现此问题。 无法整理我的实际情况后,我整理了
main.f90
:
program main_prog
use testmod
implicit none
integer :: j
end program main_prog
mod_testmod.f90
:
module testmod
implicit none
<various statements>
end module testmod
取决于<various statements>
的内容,编译成功或失败(请参见下文)。
编译
mod_testmod.f90
:编译正常,无论我用于<various statements>
的组合如何(mod_testmod.o
和testmod.mod
的创建都没有错误):
$ gfortran -g -c -o mod_testmod.o mod_testmod.f90
main.f90
:
<various statements>
(在mod_testmod.f90
中!)由一些变量定义组成:
integer :: Npuntos=10 ! def 1
double precision :: PI=3.1415296 ! def 2
double precision :: T=4.0 ! def 3
double precision :: T0=4.0 ! def 4
double precision :: S0=4.0 ! def 5
已评论/未评论。根据组合的不同,编译是成功还是失败(这完全使我感到困惑,所有工作都应该奏效)。 失败时,错误消息为
$ gfortran -g -c -o main.o main.f90
f951.exe: Fatal Error: Reading module 'testmod' at line 34 column 62: Unexpected EOF
compilation terminated.
我不知道行/列组合对跟踪问题是否有用。
有效的未填充定义的组合: (1), (1,4,5), (2,4,5), (3,4,5), (1,2,3,4), (1,2,4,5),
失败的未填充定义的组合: (无)(High Performance Mark的评论是正确的), (4,5), (1,3,4,5), (1,2,3,4,5),
这些是我尝试过的组合,足以让我完全不知道发生了什么。
我该如何解决?