Msys2-> f951.exe:致命错误:在第2行第1列读取模块“ ...”:意外的EOF

时间:2019-02-22 10:00:44

标签: compiler-errors fortran gfortran msys2 fortran-module

我正在尝试在Win 10 + Portable Msys2下使用带有 gfortran 8.2.0的模块。 在Ubuntu 18.04LTS下的 gfortran 7.3.0 不会出现此问题。 无法整理我的实际情况后,我整理了

我的MWEMCVE

  • 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.otestmod.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),

    这些是我尝试过的组合,足以让我完全不知道发生了什么。

我该如何解决?

0 个答案:

没有答案