我在使用gfortran编译一个简单模块时遇到问题。该模块不包含任何内容,只有几个变量声明:
module global
implicit none
double precision :: r = 8
double precision :: pi = 3.14
contains
end module global
当我尝试从cmd
编译时,会发生这种情况:
D:\TEMP\FortranTest>gfortran global.f90
C:/Program Files (x86)/mingw-w64/i686-7.1.0-posix-dwarf-rt_v5-rev0/mingw32/bin/.
./lib/gcc/i686-w64-mingw32/7.1.0/../../../../i686-w64-mingw32/lib/../lib/libming
w32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x39): undefined refe
rence to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
编译器在执行像“Hello World”类型的简单程序脚本时没有问题。我不确定为什么它会出现模块的这种行为。
修改
回应VladimirF的评论,这里只是尝试编译为目标文件:
D:\TEMP\FortranTest>gfortran global.f90 -c global.o
gfortran: error: global.o: No such file or directory