我已经在 Ubuntu 上安装了 shark 机器学习库,并将其与 libshark_debug.so
和 liblapack_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
。
关于c++ - Mac OS X 中 undefined reference _cblas_dgemm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35009113/