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