0

我正在学习在 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。

++++我还用一个非常相似的标题检查了这个问题,它没有帮助(问题完全不同,只是标题相似)。

4

0 回答 0