我在Fortran90中编写代码。 我需要使用LAPACK库中的dgesv函数。 我有几个子例程,正在使用make file使用gfortran进行编译。 我可以使用将Lapack库与gfortran链接

gfortran test.f -L/path/to/libs -llapack -lblas

谁能帮助您将这些库添加到我的make文件中? 我的make文件如下:

.SUFFIXES:
.SUFFIXES: .f .o .f90
#
LIBDIR = lib
UNAME := $(shell uname)

DEFINE = 
FCOMP  = gfortran
FOPTS  = -fdefault-real-8 -g -fbounds-check -fbacktrace -O2 -Wline-truncation
F90OPTS = -ffree-form -ffree-line-length-none
#FOPTS = -fPIC -g

OBJS =  read_model_2d_elasto.o output_2d_elasto.o 2d_elastostatics_FEM.o stiffness_2d_elasto.o stress_strain_2d_elasto.o \

XLIBS  = -L/usr/X11R6/lib64 -lX11 -lpthread 
GLIBS  = -L/usr/X11R6/lib64 -lGLU -lGL -lX11 -lXext -lpthread

#default:   2d_elastostatics_FEM techop
all: 2d_elastostatics_FEM 

ifeq ($(UNAME),Darwin)
  2d_elastostatics_FEM:$(OBJS)
    $(FCOMP)  -g $(OBJS) -o 2d_elastostatics_FEM 
else
  2d_elastostatics_FEM:$(OBJS)
    $(FCOMP)  -g -static $(OBJS) -o 2d_elastostatics_FEM
endif

.f.o:; $(FCOMP) -c -o $@ $(FOPTS) $*.f
.f90.o:; $(FCOMP) -c -o $@ $(FOPTS) $(F90OPTS) $*.f90

clean:

    -rm -f 2d_elastostatics_FEM $(OBJS) *.mod *.x *.exe

#1楼 票数:1 已采纳

使用在Makefile中用于XLIBS和GLIBS的sme方法

BLIBS = -L/path/to/libs -llapack -lblas

...

ifeq ($(UNAME),Darwin)
  2d_elastostatics_FEM:$(OBJS)
    $(FCOMP)  -g $(OBJS) -o 2d_elastostatics_FEM $(BLIBS)
else
  2d_elastostatics_FEM:$(OBJS)
    $(FCOMP)  -g -static $(OBJS) -o 2d_elastostatics_FEM $(BLIBS)
endif

  ask by Syed Moez translate from so

未解决问题?本站智能推荐:

1回复

在Linux上的Fortan90中使用Blas和Lapack库

我试图在Linux Mint上的Fortran90代码中使用Lapack和Blas库。 我相信我已经在以下目录中正确安装了两个库:/ usr / local / lib当我使用makefile编译我的代码时,我收到错误消息: 我的Fortran代码只是试图调用一个测试函数: 我
1回复

链接lapack问题

我正在尝试编译一个使用lapack的程序。 首先,我通过在此链接上使用“sudo apt-get install”安装所有软件包来安装lapack: https ://launchpad.net/ubuntu/precise/+source/lapack 我正在尝试编译此页面上的代码
1回复

`make:*没有规则使目标`编译时间错误

我试图将Lapack库与我的Makefile和Fortran 90代码(gfortran)链接,但是每次我键入: make pkr_test ( pkr_test是代码的名称)时,都会出现以下错误: make[1]: * No rule to make target '/usr/ben/mo
1回复

Fortran Makefile,用于使用模块编译固定格式和自由格式文件

我正在尝试为EFDC编译和链接混合格式的Fortran代码,这是一个由243个.for和.f90文件组成的数字流体动力学代码。 两个.f90文件中有两个模块。 它是串行写的,我在Linux上使用gfortran。 主程序位于一个.for文件中,其余程序为固定和自由格式的子例程。 没有
2回复

在Mac OS X上链接Fortran中的LAPACK

我认为这是一个标准的菜鸟问题,但在整个上午搜索网络后,我决定不管怎么说。 我在Mac OS 10.9上,我想从Fortran程序中调用LAPACK特征值例程。 我有幸在昨天被介绍给Fortran,所以请原谅任何愚蠢的错误。 这是我想要运行的最小例子: 我了解到在OS X上,LA
1回复

使用 BLAS (LAPACK) 模块编译 Fortran 代码

我刚刚开始使用 Fortran 并且在我的程序中使用来自 (?) LAPACK 的 BLAS 模块时遇到问题。 我正在 Ubuntu 18.04 上工作,我已经通过命令sudo apt-get install libblas-dev liblapack-dev安装了(?)LAPACK 和 BLAS
1回复

LAPACK 程序 (Fortran 90) 的数值精度不够?

我写了一个简单的 Fortran 代码,它对R^2的n+1个点进行多项式插值。 它使用两个LAPACK过程(我的代码中的所有内容都是双精度)求解线性方程组(我正在创建 Vandermonde 矩阵): 首先,它分解矩阵: http : //sites.science.oregonstate.edu/
1回复

重复时 LAPACK 中 ZGEEV 的特征值不正确

我有以下代码可以找到非厄米复矩阵H的特征值。 在这段代码中,我使用了一个耗散或非对称参数lambda ,我将其固定为l=2.d0并运行了三次 do 循环。 我应该在每次迭代中获得相同的特征值。 令我惊讶的是,前两个循环给出了相同的特征值集,但它们的顺序不同,第三个循环生成了一组完全不同的特征值!