任何人都可以向我解释整个句子的意思吗?
我知道这是将宏 BLAS_LIBS 设置为另一个字符串。
但我不确定“-lblas”是什么意思,也不知道如何使用它。 类似于下面的代码。 “-llapack”
export LAPACK_LIBS="-L$LAPACKHOME/lib -llapack"
程序如何通过“-lblas”和“-llapack”找出BLAS和LAPACK库?
感谢提前。
最佳答案
我不确定你为什么说“只是通过 -llapack
”,因为这不是这里发生的事情。具体来说,-L
选项在它指定要添加到库解析路径的目录路径之前。这大致类似于 shell 中的 PATH
。
例如,使用命令行片段 gcc -Lfoodir -Lbardir -lfoo -lbar
,您基本上指示链接器搜索目录 foodir
和 bardir
用于库文件 libfoo.a
和 libbar.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/