1
我試圖編譯別人的fortran代碼並獲取未定義的引用錯誤。特別是,我得到的錯誤是這樣的:未定義的引用`_gfortran_transfer_character'
/usr/lib64/cernlib/2006/lib/libpdflib804.a(structm.o): In function `structm_':
(.text+0x17712): undefined reference to `_gfortran_transfer_integer'
我的猜測是,我無法正常連接libpdflib804.a,但我不知道我做錯了。下面是生成文件:
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給我類似的錯誤。
感謝您的回覆。 f77是gcc的一部分。當我把'-lgfortran'放在併發症中時,我得到 'f77:-lgfortran:鏈接器輸入文件未使用,因爲鏈接沒有完成' 當我更改生成文件'FC = gfortran'時,我得到類似的錯誤: ' /usr/lib64/cernlib/2006/lib/libmathlib.a(gauss.o):在函數'gauss_'中: (.text + 0x2dd):未定義的對'mtlprt_'的引用 – danchus