【发布时间】:2013-11-01 11:50:21
【问题描述】:
我想这是一个标准的菜鸟问题,但是在花了一上午的时间搜索网络之后,我还是决定给你找麻烦。我在 Mac OS 10.9 上,我想从 Fortran 程序中调用 LAPACK 特征值例程。昨天我很高兴被介绍给 Fortran,所以请原谅任何愚蠢的错误。
这是我想要运行的最小示例:
program eigtest
complex A(3,3)
real eigs(3)
A(1,1) = cmplx(1,0)
A(1,2) = cmplx(0,2)
A(1,3) = cmplx(3,0)
A(2,1) = cmplx(0,-2)
A(2,2) = cmplx(5,0)
A(2,3) = cmplx(1,-1)
A(3,1) = cmplx(3,0)
A(3,2) = cmplx(1,1)
A(3,3) = cmplx(7,0)
call heevd(A, eigs)
write(*,*) eigs
end
我了解到在 OS X 上,LAPACK 是 Accelerate 框架的一部分,所以我尝试了以下方法:
gfortran -o eigtest -framework accelerate eigtest.f95
但链接器抱怨:
Undefined symbols for architecture x86_64:
"_heevd_", referenced from:
_MAIN__ in ccleuVFO.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
【问题讨论】:
标签: macos linker fortran gfortran lapack