gfortran дает неопределенную ссылку на `dacosd_` даже с`-dec-math`
Я пытаюсь скомпилировать приложение на Фортране, используя gfortran
, связывая с библиотеками Intel MKL.
неопределенная ссылка на `dacosd_'
E сть acos
или же acosd
(обратный косинус в степени), я почти там, но я не могу скомпилировать, используя -fall-intrinsics
или же -dec-math
флаг, как указано в руководстве, потому что все это приводит к одной и той же ошибке.
Где я ошибся и как мне это скомпилировать?
gfortran
Я использую версию 5.4.1.
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
функционировать таким образом, чтобы оставаться портативным.