Fortran 未定义引用错误
Fortran Undefined Reference Error
我已经通过 MinGW-get 安装程序安装了 gfortran。
当我在 Fortran 中调用子例程并尝试编译时遇到问题。
我写了一个小程序 Hello.F 和一个子例程 World.F 这样程序 Hello.F 调用子例程 World.F
当我使用命令 gfortran Hello.F
编译 Hello.f 时
我看到如下错误,
Undefined Reference to 'World_'
collect2.exe: error: Id returned 1 exit status
下面是Hello.F,
PROGRAM HELLO
CALL WORLD
STOP
END
下面是World.F
SUBROUTINE WORLD
print *, "Hello World!"
RETURN
END
两个程序 Hello.F 和 World.F 都在同一个文件夹中,在输入命令 gfortran hello.f
编译程序之前,我 cd
到这个文件夹。
你可能想在这里读一点:
https://gcc.gnu.org/wiki/GFortranUsage
具体来说,您需要将所有文件告诉编译器,例如:
gfortran -o executable source1.f90 source2.f90
或者你的情况:
gfortran -o helloworld Hello.F World.F
我已经通过 MinGW-get 安装程序安装了 gfortran。 当我在 Fortran 中调用子例程并尝试编译时遇到问题。 我写了一个小程序 Hello.F 和一个子例程 World.F 这样程序 Hello.F 调用子例程 World.F
当我使用命令 gfortran Hello.F
编译 Hello.f 时
我看到如下错误,
Undefined Reference to 'World_'
collect2.exe: error: Id returned 1 exit status
下面是Hello.F,
PROGRAM HELLO
CALL WORLD
STOP
END
下面是World.F
SUBROUTINE WORLD
print *, "Hello World!"
RETURN
END
两个程序 Hello.F 和 World.F 都在同一个文件夹中,在输入命令 gfortran hello.f
编译程序之前,我 cd
到这个文件夹。
你可能想在这里读一点:
https://gcc.gnu.org/wiki/GFortranUsage
具体来说,您需要将所有文件告诉编译器,例如:
gfortran -o executable source1.f90 source2.f90
或者你的情况:
gfortran -o helloworld Hello.F World.F