安装LAPACK并定位库目录求助:Fortran90新手配置疑问
解决LAPACK库目录定位问题
手动编译安装的情况
- 如果你是按指南手动编译后执行了
make install,默认安装路径是/usr/local,所以LAPACKDIR直接填/usr/local就行——/usr/local/lib就是它的lib子目录,和你的LAPACKLIBS配置匹配。 - 要是编译时你手动指定了安装前缀(比如用
./configure --prefix=/home/xxx/my_lapack,部分LAPACK版本支持),那LAPACKDIR就填你指定的那个前缀路径,比如/home/xxx/my_lapack,里面会自动生成lib子目录。
包管理器安装的情况
- Ubuntu/Debian类系统:通过
apt install liblapack-dev libblas-dev安装的话,库文件默认在/usr/lib/x86_64-linux-gnu(64位系统),你可以把LAPACKDIR设为/usr,或者更简单的直接把LAPACKLIBS改成-llapack -lblas——系统默认会搜索标准库路径。 - macOS(Homebrew):用
brew install lapack安装后,路径是/usr/local/opt/lapack,把LAPACKDIR填这个就行,里面包含lib子目录。
自己搜索定位的方法
如果上面的情况都不适用,直接搜库文件位置:
- Linux下执行:
find / -name liblapack.so 2>/dev/null,找到类似/xxx/yyy/lib/liblapack.so的路径,/xxx/yyy就是你要填的LAPACKDIR。 - macOS下执行:
find / -name liblapack.dylib 2>/dev/null,同理取lib目录的上一级路径。 - 要是装了
pkg-config,直接跑pkg-config --variable=libdir lapack得到lib目录,往上退一级就是LAPACKDIR。
兜底方案
如果还是搞不定,直接把LAPACKLIBS改成库的绝对路径,比如找到liblapack.so在/usr/local/lib,就写-L/usr/local/lib -llapack -lblas,跳过LAPACKDIR的配置也能正常编译。
内容的提问来源于stack exchange,提问作者I_need_answers
相关产品推荐
相关产品推荐

