回 帖 发 新 帖 刷新版面

主题:[讨论]求助,关于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 


回复列表 (共5个回复)

沙发

你是在windows系统,咋还下载和使用linux版本的库神马的?

板凳

nmake只认windows makefile格式
这个是unix makefile格式

你需要
msys+gfortran

当然msys+ivf也行

3 楼


弱弱问下,msys是?[em8]

4 楼


就没没搞大清楚这个windows和unix有啥区别,所以都在乱弄[em17]

5 楼

lapack有for win的小组分支, 可以直接去lapack的官网看看.
msys 我的理解是其中一个把linux的代码移植到win的软件.

我来回复

您尚未登录,请登录后再回复。点此登录或注册