我正在学习在 C 上使用 BLAS 和 LAPACK,但第一步我遇到了麻烦:导入和链接库。
我的设备是 mac,显然 Xcode 和编译器都找不到 cblas.h、lapack.h 或 lapacke.h,而这三个肯定都在 /usr/local/opt/openblas/include 中。我最终在标题中写了完整路径,例如
#include </usr/local/opt/openblas/include/cblas.h>
#include </usr/local/opt/openblas/include/lapacke.h>
有了这个(丑陋的)解决方案,xcode 和编译器现在可以找到函数,但是在-llapacke
制作可执行文件时链接存在问题。-lapack
链接和没有问题-lblas
,但是当我尝试时-llapacke
,我收到以下错误
ld: library not found for -llapacke
我检查了,所有三个 .h 文件都在/usr/local/opt/openblas/include/
.
我很感激在解决这个问题方面的一些帮助。
到目前为止我已经尝试过: 我重新安装(使用自制软件)cblas 和 lapack,它没有修复它。我还尝试通过这样做(在回答这个问题之后)将库与完整路径链接起来:
gcc -o main main.o utils.o -lm -I/usr/local/opt/openblas/include -L/usr/local/opt/openblas/lib -llapacke -llapack -lblas
我还尝试在此页面上的答案之后添加到搜索路径,但它不起作用:
PKG_CONFIG_PATH=/usr/local/opt/openblas/lib/pkgconfig
++ 我的操作系统是 Catalina 10.15.6,我的 Xcode 是 12.4。
++++我还用一个非常相似的标题检查了这个问题,它没有帮助(问题完全不同,只是标题相似)。