首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用gfortran实现makefile中的库链接

利用gfortran实现makefile中的库链接
EN

Stack Overflow用户
提问于 2013-10-22 19:01:01
回答 2查看 830关注 0票数 3

我有一个fortran代码(pardiso_1.f),它需要编译一些库(BLAS、lapack和Pardiso库)。当我试图编译它时,我在编译之前链接库,并在linux终端中编写这一行:

代码语言:javascript
复制
gfortran pardiso_1.f  -L/home/behnam/Pardiso -lpardiso412-GNU450-X86-64 -L/usr/lib -lblas -llapack -fopenmp

而且效果很好。

但是,我必须使用makefile运行代码。我是如此新的书面制作文件,我不知道如何做的联系。我写了这个makefile。有人能帮我找出那是怎么回事吗?

代码语言:javascript
复制
FC = gfortran
OPT = -O2
PROGRAMS = pardiso_1

all: $(PROGRAMS)
FFLAGS = -fopenmp

#### BLAS, LAPACK and PTHREAD libraries
LBLAS = /usr/lib/

###location of pardiso file
LIBMKL = /home/behnam/PS2/

#### Series of libraries
LIBRARIES= -llapack -lblas -lpthread -lm -lpardiso412-GNU430-X86-64

PATHFC = /usr/bin/

nlace: ${PATHFC}${FC} ${OPT} ${FFLAGS} -I${PROGRAMS} -o nlace.exe \
         -L${LIBMKL} -lpardiso412-GNU430-X86-64\
         -L${LBLAS} ${LIBRARIES}


clean:
    rm -f *.o *.exe fort.* *~ *.mod

veryclean: clean
    rm -f *~ $(PROGRAMS)

这些错误是:

代码语言:javascript
复制
behnam@meen-392430:~/testing$ make
make: Warning: File `Makefile' has modification time 23 s in the future
gfortran -fopenmp   pardiso_1.f   -o pardiso_1
/tmp/ccYNexaH.o: In function `MAIN__':
pardiso_1.f:(.text+0xb3): undefined reference to `pardisoinit_'
pardiso_1.f:(.text+0x2ae): undefined reference to `pardiso_chkmatrix_'
pardiso_1.f:(.text+0x36e): undefined reference to `pardiso_chkvec_'
pardiso_1.f:(.text+0x44c): undefined reference to `pardiso_printstats_'
pardiso_1.f:(.text+0x5ae): undefined reference to `pardiso_'
pardiso_1.f:(.text+0x860): undefined reference to `pardiso_'
pardiso_1.f:(.text+0xb78): undefined reference to `pardiso_'
pardiso_1.f:(.text+0xe00): undefined reference to `pardiso_'
collect2: ld returned 1 exit status
make: *** [pardiso_1] Error 1
EN

回答 2

Stack Overflow用户

发布于 2013-10-22 19:06:21

makefile不包含命令行的-L/home/behnam/Pardiso部分。

票数 1
EN

Stack Overflow用户

发布于 2013-10-22 22:50:19

您的PROGRAMS规则不包含包含库调用的菜谱。我猜想您需要类似于您的nlace规则,但是现在,make并不是作为其操作的一部分调用任何-L交换机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19526147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档