我想在我的fortran代码中使用LAPACK库。我正在使用gfortran进行编译,并希望从lapack库中调用dgesv函数。
我下载了lapack3.5.0并使用Cmake构建它,它也测试了它。 lapack3.5.0的构建创建了以下库:libblas.a,liblapack.a,libtmglib.a
我使用make文件使用gfortran编译我的代码。
如何将这些库与gfortran编译器一起使用,我在编译时得到dgsev未定义的错误。我已将这些库的路径添加到系统路径中。
我不知道如何在gfortran中使用外部库。
答案 0 :(得分:2)
您必须使用-L
链接器的gfortran
选项。使用它,您将指向编译器在此路径中查找库。
例如:
gfortran test.f -L/path/to/libs -llapack -lblas
如果您有其他库,可以像这样设置
LLIBS = -L/path/to/libs -llapack -lblas
XLIBS = -L/usr/X11R6/lib64 -lX11 -lpthread
GLIBS = -L/usr/X11R6/lib64 -lGLU -lGL -lX11 -lXext -lpthread
OBJS = test.o
gfortran $(OBJS) $(LLIBS) $(XLIBS) $(GLIBS)
无需向系统路径添加任何内容。