我最近尝试在iOS上使用犰狳来做一些矩阵计算。该应用程序适用于我的开发iPhone,但Apple在尝试在Appstore中发布时给了我错误消息。似乎犰狳调用了一些内部的 BLAS 函数。我在网上搜索了这条消息,但没有找到任何有用的东西。我还发现直接从我的代码中调用带有"cblas_"前缀的 BLAS 函数(例如 cblas_dgemv)不会导致错误。然而,这使得使用犰狳毫无意义。
我想知道是否有人遇到过同样的问题,以及解决方案是什么。我怀疑这与 config.hpp 中的某个宏有关。非常感谢您的帮助。
错误信息:
非公有 API 用法:
• 该应用程序引用 *** 中的非公共符号:_sgemm_、_sgemv_、_ssyrk_
加速 BLAS 实现支持一堆冗余符号,以促进各种 fortran 编译器的不同函数命名方案。严格来说,这些是用来使用的(由你的 fortran 编译器),所以你可能有一些争论的理由,它们不是私有接口。 如果AppStore仍然给您带来麻烦,请对Apple提出错误,并要求他们修复界面上的簿记,以便可以使用它们。
不过,在标头中开始使用cblas_接口会更简单。