我想編譯一個使用Lapack函數的代碼。我按照(http://www.netlib.org/lapack/lawnspdf/lawn81.pdf)的主要說明安裝了Lapack和BLAS,我運行了測試,聽起來沒問題。即使在包含-lreflblas之後未定義的BLAS函數
然而,當我運行:
gfortran -L/home/user/Desktop/LAPACK -I/home/user/Desktop/LAPACK/include -llapack -llapacke -lrefblas -O3 lorenz96v4.f90 -o l96_2.x -ffree-line-length-200
我獲得了一堆錯誤的(見下文)。庫liblapak.a和librefblas.a包含在/ home/user/Desktop/LAPACK中,並且所有頭文件都位於其中的include文件夾中。
下面是錯誤信息:
In function `testcorrelation_':
lorenz96v4.f90:(.text+0x132d): undefined reference to `dgemv_'
lorenz96v4.f90:(.text+0x171e): undefined reference to `dgemv_'
lorenz96v4.f90:(.text+0x1787): undefined reference to `dgemv_'
/tmp/ccU96uz3.o: In function `qr_':
lorenz96v4.f90:(.text+0x1da0): undefined reference to `dorm2r_'
lorenz96v4.f90:(.text+0x1dcb): undefined reference to `dgeqrf_'
/tmp/ccU96uz3.o: In function `rungekutta4thtl_':
lorenz96v4.f90:(.text+0x3653): undefined reference to `dgemm_'
lorenz96v4.f90:(.text+0x36bf): undefined reference to `dgemm_'
lorenz96v4.f90:(.text+0x3726): undefined reference to `dgemm_'
lorenz96v4.f90:(.text+0x375a): undefined reference to `dlaset_'
lorenz96v4.f90:(.text+0x3c88): undefined reference to `dgemm_'
lorenz96v4.f90:(.text+0x3cf4): undefined reference to `dgemm_'
lorenz96v4.f90:(.text+0x3d53): undefined reference to `dgemm_'
lorenz96v4.f90:(.text+0x3d84): undefined reference to `dlaset_'
/tmp/ccU96uz3.o: In function `MAIN__':
lorenz96v4.f90:(.text+0x8cd6): undefined reference to `dgemm_'
lorenz96v4.f90:(.text+0xa023): undefined reference to `dlaset_'
lorenz96v4.f90:(.text+0xa195): undefined reference to `ilaenv_'
lorenz96v4.f90:(.text+0xa276): undefined reference to `dgeqrf_'
lorenz96v4.f90:(.text+0xb343): undefined reference to `dlaset_'
lorenz96v4.f90:(.text+0xb4b5): undefined reference to `ilaenv_'
lorenz96v4.f90:(.text+0xbfa2): undefined reference to `dgeqrf_'
lorenz96v4.f90:(.text+0xc30d): undefined reference to `dtrtrs_'
lorenz96v4.f90:(.text+0xc399): undefined reference to `dnrm2_'
lorenz96v4.f90:(.text+0xceb5): undefined reference to `dorm2r_'
collect2: error: ld returned 1 exit status
它看起來像編譯器不承認或找到標題...誰能幫助我?
如果你'gfortran -L/home/user中/桌面/ LAPACK -O3 lorenz96v4會發生什麼。 f90 -o l96_2.x -ffree-line-length-200 -I/home/user/Desktop/LAPACK/include -llapack -llapacke -lrefblas'即將庫放到最後?如果你做了'gfortran lorenz96v4.f90 /home/user/Desktop/LAPACK/librefblas.a ....'? –