未定义的引用`_gfortran_transfer_character'

时间:2014-12-23 17:33:58

标签: compilation makefile fortran

我正在尝试编译其他人的fortran代码并获取未定义的引用错误。特别是,我得到这样的错误:

/usr/lib64/cernlib/2006/lib/libpdflib804.a(structm.o): In function `structm_':
(.text+0x17712): undefined reference to `_gfortran_transfer_integer'

我的猜测是我没有正确连接libpdflib804.a,但我不知道我做错了什么。这是makefile:

OBJS = hpair.o Cteq61Pdf.o mrst2001.o

LIBS = $(CERN)/libpdflib804.a $(CERN)/libpawlib.a $(CERN)/libgrafX11.a $(CERN)/libpacklib.a         $(CERN)/libmathlib.a $(CERN)/libkernlib.a

FC=f77

.f.o:
    $(FC) -c $(FFLAGS) $*.f

hpair: $(OBJS)
    $(FC) $(FFLAGS) $(OBJS) $(LIBS) -o run

clean:
    rm -f $(OBJS)

我的系统在不同的位置有各种各样的库(它是CERN的集群),但是$ CERN的所有可能的不同选项给了我类似的错误。

1 个答案:

答案 0 :(得分:0)

尝试添加-lgfortranlibgfortran.a的显式路径。未定义的符号应该在那里。 f77是否有其他编译器?这可以解释它。