错误甚至存在共性,左图是ifort和gfortran不适配的问题,图右是g77编译器不适配的问题,报的错基本都一致。
源代码:
FC = ifort -assume byterecl
LIB_NETCDF = -L/glade/apps/opt/netcdf/4.2/intel/default/lib -lnetcdf
INC_NETCDF = -I/glade/apps/opt/netcdf/4.2/intel/default/include
TARGETS = paleo_mkraw_cesm1
all: $(TARGETS)
paleo_mkraw_cesm1 : paleo_mkraw_cesm1.F90
$(FC) -o paleo_mkraw_cesm1 paleo_mkraw_cesm1.F90 $(INC_NETCDF) $(LIB_NETCDF)
clean:
-rm $(TARGETS)
修改为:
NETCDF_FFLAGS = $(shell nc-config --fflags)
NETCDF_FLIBS = $(shell nc-config --flibs)
FC = gfortran #ifort -assume byterecl
FFLAGS = $(OTHERFLAGS) -O3 -Wall $(NETCDF_FFLAGS)
TARGETS = paleo_mkraw_cesm1
all: $(TARGETS)
paleo_mkraw_cesm1 : paleo_mkraw_cesm1.F90
$(FC) -o paleo_mkraw_cesm1 paleo_mkraw_cesm1.F90 $(FFLAGS) $(NETCDF_FLIBS)
clean:
-rm $(TARGETS)
本博主理解了一下,可能是通过查找跳过了连接include和lib的过程