• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

gfortran即使使用`-dec-math`也给出`dacosd_`的未定义引用

compiler-errors 来源:kensaii 4次浏览

我试图编译一个使用gfortran的Fortran应用程序,它与Intel MKL库链接。gfortran即使使用`-dec-math`也给出`dacosd_`的未定义引用

未定义的参考`dacosd_”

有一个acosacosd(以度反余弦),我几乎没有,但我不能编译使用-fall-intrinsics-dec-math标志,按照指示在手册中,因为它们都会产生相同的错误。

我在哪里弄错了,我该如何编译?

我使用的gfortran版本是5.4.1。


===========解决方案如下:

正如RussF所评论的,这些非标准扩展函数包含在gfortran 7和更高版本中。你需要一个更新的版本。此外,正确的标志是-fdec-math,而不是-dec-math

intrinsic dacosd 

print *, dacosd(0.5d0) 
end 

编译如下:

> gfortran-6 -fdec-math dacosd.f90 
gfortran-6: error: unrecognized command line option ‘-fdec-math’; did you mean ‘-ffast-math’? 
> gfortran-7 -fdec-math dacosd.f90 
> ./a.out 
    60.000000000000007  

您可以轻松地做同样的计算与转换

double precision, parameter :: pi = acos(-1.d0) 
print *, acos(0.5d0)*180/pi 
end 

,或者你可以定义自己的(d)acosd功能这种方式,留便携。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)