Mac OS X 中未定义的引用_cblas_dgemm

undefined reference _cblas_dgemm in Mac OS X

本文关键字:引用 cblas dgemm 未定义 OS Mac      更新时间:2023-10-16

我已经在 Ubuntu 上安装了鲨鱼机器学习库,并将其与 libshark_debug.soliblapack_atlas.so 链接。 liblapack_atlas.so libatlas-base-dev包装中。现在我想在Mac OS X上做同样的事情,但我找不到liblapack_atlas.so。链接器停止并出现此错误:

undefined symbols for architecture x86_64:
"_cblas_dgemm", reference from:
shark::blas::binding::gemm()

我应该安装哪个软件包(例如使用 brew)才能将我的C++程序与liblapack_atlas.so 链接。

OS X已经为BLAS提供了.dylib,在我的系统上它位于/usr/lib/libblas.dylib但YMMV的位置。快速检查其导出的符号会给我这个:

nm -gU /usr/lib/libblas.dylib | grep dgemm
...
000000000016e454 T _cblas_dgemm

还提供了liblapack库,位于:/usr/lib/liblapack.dylib