主题:[讨论]求助,关于LAPACK和BLAS
最近在用一个主成分分析的FORTRAN程序,该程序需要调用LAPACK和BLAS这两个LIB文件
,本人没怎么学过FORTRAN,GOOGLE了很多,但是还是无法让程序运行,希望各位大牛指
导下,不胜感激。
PS:
1.我是在windows vista下用nmake.exe运行makefile文件。(我也不知道是不是这样,
GOOGLE上查的。)。
2.我在NETLIB上下载到了lapack-3.3.1.gz和lapack_linux.a和blas_linux.a这两个编译
成功的文件,但是不知道怎么用。
下面是程序的MAKEFILE文件
TARGET = testeof
F77CMD = g95
F77OPTS = -ffixed-line-length-132 -O3
F77OBJS = deof.o deofcovcor.o deofpcs.o deoftotvar.o
INCDIRS = -I/usr/local/include -I$(HOME)/include
LIBDIRS = -L/usr/local/lib -L$(HOME)/lib
LAPACK = -L/home/pierce/src/packages/num_analysis/lapack/LAPACK -llapack_
LINUX86_g95 -lblas_LINUX86_g95
.SUFFIXES: .F .o
###########################################################
.F.o:
echo "making with $(F77CMD) "
$(F77CMD) $(LOCALOPTS) $(F77OPTS) -c $<
###########################################################
target: $(TARGET)
testeof: testeof.F deof.o deofcovcor.o deofpcs.o deoftotvar.o
$(F77CMD) $(LOCALOPTS) $(F77OPTS) -o testeof testeof.F \
deof.o deofcovcor.o deofpcs.o deoftotvar.o $(LAPACK)
doeofs: $(F77OBJS) $(F90OBJS)
@echo "============================================"
@echo "linking $<"
@echo " "
$(F90CMD) $(F90OPTS) $(LOCALOPTS) -o doeofs \
$(F77OBJS) $(F90OBJS) $(DOEOFS_MODULES_INCLINE) \
$(DPSRCDIR)/nc90/nc90_norank_lib.o \
$(LIBDIRS) -lcrdnetcdf -lnetcdf $(LAPACK) $(STDLIBS)
clean:
-rm $(F77OBJS) *.o *.mod
tarfile:
tar cvfh deof_routines.tar testeof.F deof.F deofcovcor.F \
deofpcs.F deoftotvar.F pacific_sst_test_data.txt \
Makefile README plotresults.R
gzip -v deof_routines.tar
,本人没怎么学过FORTRAN,GOOGLE了很多,但是还是无法让程序运行,希望各位大牛指
导下,不胜感激。
PS:
1.我是在windows vista下用nmake.exe运行makefile文件。(我也不知道是不是这样,
GOOGLE上查的。)。
2.我在NETLIB上下载到了lapack-3.3.1.gz和lapack_linux.a和blas_linux.a这两个编译
成功的文件,但是不知道怎么用。
下面是程序的MAKEFILE文件
TARGET = testeof
F77CMD = g95
F77OPTS = -ffixed-line-length-132 -O3
F77OBJS = deof.o deofcovcor.o deofpcs.o deoftotvar.o
INCDIRS = -I/usr/local/include -I$(HOME)/include
LIBDIRS = -L/usr/local/lib -L$(HOME)/lib
LAPACK = -L/home/pierce/src/packages/num_analysis/lapack/LAPACK -llapack_
LINUX86_g95 -lblas_LINUX86_g95
.SUFFIXES: .F .o
###########################################################
.F.o:
echo "making with $(F77CMD) "
$(F77CMD) $(LOCALOPTS) $(F77OPTS) -c $<
###########################################################
target: $(TARGET)
testeof: testeof.F deof.o deofcovcor.o deofpcs.o deoftotvar.o
$(F77CMD) $(LOCALOPTS) $(F77OPTS) -o testeof testeof.F \
deof.o deofcovcor.o deofpcs.o deoftotvar.o $(LAPACK)
doeofs: $(F77OBJS) $(F90OBJS)
@echo "============================================"
@echo "linking $<"
@echo " "
$(F90CMD) $(F90OPTS) $(LOCALOPTS) -o doeofs \
$(F77OBJS) $(F90OBJS) $(DOEOFS_MODULES_INCLINE) \
$(DPSRCDIR)/nc90/nc90_norank_lib.o \
$(LIBDIRS) -lcrdnetcdf -lnetcdf $(LAPACK) $(STDLIBS)
clean:
-rm $(F77OBJS) *.o *.mod
tarfile:
tar cvfh deof_routines.tar testeof.F deof.F deofcovcor.F \
deofpcs.F deoftotvar.F pacific_sst_test_data.txt \
Makefile README plotresults.R
gzip -v deof_routines.tar