主题:linux下安装lapack及应用
http://bbs.pfan.cn/showbbs.asp?id=242326&read=my
这是从论坛上看到的帖子,讲述了ifort编辑器怎么安装lapack以及应用的。我用的是gfortran,linux系统,我是这么安装的:
make.inc
FORTRAN =gfortran
OPTS=-O2
DRVOPTS=$(OPTS)
NOOPT=-O0
LOADER=gfortran
LOADOPTS=
TIMER=INT_ETIME_
CC=GCC
CFLAGS=-O3
ARCH=ar
ARCHFLAGS=cr
RANLIB=ranlib
BLASLIB=../../librefblas.a
LAPACKLIB=liblapack.a
TMGLIB=libtmglib.a
LAPACKELIB=liblapacke.a
这样设置有问题吗?
make一下,/lapack/lapack-3.4.2产生几个文件:
liblapack.a libtmglib.a
然后我想用装好的lapack编译一个程序:
program test_sgesv
implicit none
real :: a(3,3),b(3)
integer :: v(3),iflag
external sgesv
a=reshape([2.0,0.0,0.0,0.0,3.0,0.0,0.0,0.0,4.0],[3,3])
b=[998.0,999.0,1000.0]
print *,'a=',a
print *,'b=',b
call sgesv(3,1,a,3,v,b,3,iflag)
print *,'solve=',b
end program test_sgesv
把这个程序ceshi.f放在/lapack/目录下,然后用
gfortran ceshi.f -o 22
结果显示sgesv这个子程序找不到,应该是库文件没安装好。
看帖子:http://bbs.pfan.cn/post-242326.html
f2003同学说:将编译好的文件拷贝到/usr/local/lib或者/usr/lib就可以了,。这个文件夹根本找不到。如果编译程序是不是需要在
程序开头加个语句,或者在编译的时候加个语句,好知道是调用哪里的库函数啊?