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

我试图编译一个使用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功能这种方式,留便携。

以上是 gfortran即使使用`-dec-math`也给出`dacosd_`的未定义引用 的全部内容, 来源链接: utcz.com/qa/261034.html

回到顶部