gfortran中对`sleep`和`sizeof` instrinsics的未定义引用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gfortran中对`sleep`和`sizeof` instrinsics的未定义引用相关的知识,希望对你有一定的参考价值。
gfortran没有找到GNU Fortran提供的内部函数(sleep,sizeof,...):
undefined reference to `sleep_'
我已经从MinGW Installation Manager安装了mingw32-base和mingw32-gcc-fortran。
即使这个简单的代码会出现此问题:
program p
implicit none
call SLEEP(1)
end program p
命令:$ gfortran.exe -std=f2008 . est.f08
事实上它适用于$ gfortran.exe . est.f08
。但是,它应该与前一个一起使用。
答案
您使用的程序不是标准的Fortran。当您通过-std=f2008
明确要求标准Fortran时,编译器不会链接非标准内部过程,因为它们不在您明确请求的标准中。
当你使用
intrinsic sleep
您会收到更明确的错误消息:
intrinsic sleep
1
Error: The intrinsic ‘sleep’ declared INTRINSIC at (1) is not available
in the current standard settings but a GNU Fortran extension. Use an appropriate
‘-std=*’ option or enable ‘-fall-intrinsics’ in order to use it.
因此,正如消息所示,您可以使用-fall-intrinsics
来启用非标准内部过程。
以上是关于gfortran中对`sleep`和`sizeof` instrinsics的未定义引用的主要内容,如果未能解决你的问题,请参考以下文章
不能在Ubuntu上使用gfortran和Abaqus 2016
无法使 OpenMP 与 CodeBlocks 和 GFortran 一起工作