linux - Bash 命令 : export BLAS_LIBS ="-L$LAPACKHOME/lib -lblas"

标签 linux bash lapack blas

任何人都可以向我解释整个句子的意思吗?

我知道这是将宏 BLAS_LIBS 设置为另一个字符串。

但我不确定“-lblas”是什么意思,也不知道如何使用它。 类似于下面的代码。 “-llapack”

export LAPACK_LIBS="-L$LAPACKHOME/lib -llapack"

程序如何通过“-lblas”和“-llapack”找出BLAS和LAPACK库?

感谢提前。

最佳答案

我不确定你为什么说“只是通过 -llapack”,因为这不是这里发生的事情。具体来说,-L 选项在它指定要添加到库解析路径的目录路径之前。这大致类似于 shell 中的 PATH

例如,使用命令行片段 gcc -Lfoodir -Lbardir -lfoo -lbar,您基本上指示链接器搜索目录 foodirbardir 用于库文件 libfoo.alibbar.a

-l 选项在 GCC: Options for Linking 中有描述。和 -L 以及以下部分中的 friend GCC: Options for Directory Search .

这种构建安排——配置构建以在编译之前显示所需文件的位置——对于库来说很常见,如果用户已经为其他项目下载并编译了所需的库,他们就不需要重建它;他们可以将编译器指向他们已经拥有该项目所需内容的任何地方。

无论如何,构建自己的库变得越来越没有必要,因为如今大多数系统都可以使用大多数常用库的预打包二进制文件。但是,当然,如果您在一个不寻常的平台上,或者有特殊的需求要求使用与任何可用的预构建二进制文件不同的选项进行重新编译,您仍然需要了解如何执行此操作。

关于linux - Bash 命令 : export BLAS_LIBS ="-L$LAPACKHOME/lib -lblas",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33794827/

相关文章:

linux iptables 错误行

bash - 从一个文件到另一个文件的棘手列替换

python - Cython调用lapack,报错: `Cannot take address of Python variable'

c - 使用 CBLAS/LAPACK 的 C 语言对称矩阵求逆

fortran - 如何在 LAPACK 中找到最佳 block 大小和 LWORK

c++ - ppoll 中的信号未立即处理

linux - 在 BSD 中禁用 snmpd 日志?

bash - 检查脚本是否已被重定向

linux - [: : integer expression expected bash script

bash:将结果分配给变量时换行符计数不同