c++ - Mac OS X 中 undefined reference _cblas_dgemm

标签 c++ macos lapack

我已经在 Ubuntu 上安装了 shark 机器学习库,并将其与 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

关于c++ - Mac OS X 中 undefined reference _cblas_dgemm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35009113/

相关文章:

c++ - 在没有关联的小部件插件的情况下在 Qt Designer 中注册扩展

c++ - 如何在 "forward direction"中移动转换?

objective-c - 子类 NSViewController 或 NSView

c++ - 如何让 Armadillo 在 Windows 上工作?

c++ - lapacke和lapack之间的区别

c++ - CMake 链接库在 Docker 镜像中失败

c++ - 如果在 C++ 中有引号,则获取窗口名称

ruby - 如何为 pbcopy 生成富文本链接

Git Push 无法创建目录错误

matrix - 如何从 QR 分解输出中获取 Q?