c++ - M1 Mac 上的 Tensorflow C api 立即出现运行时错误
问题描述
我正在尝试在 xcode 项目中使用 Tensorflow C api。一旦应用程序开始运行,主线程上就会生成 BAD_INSTRUCTION 错误。此错误来自:
tensorflow::monitoring::MetricDef<(tensorflow::monitoring::MetricKind)1, long long, 2>::MetricDef<char [11], char [7]>(absl::lts_2020_02_25::string_view, absl:: lts_2020_02_25::string_view, char const (&) [11], char const (&) [7]) ()
我使用以下方式安装了 api:https ://www.tensorflow.org/install/lang_c
我正在为 x86_64 架构构建(使用 Rosetta 进行翻译),并通过指定运行路径搜索路径到 .dylib 目录来链接库。我还将此路径作为常规搜索路径包含在内,并添加了标题搜索路径。最后,我将两个 .dylib 都添加到了“使用库链接二进制文件”列表中。
我在 M1 macbook pro 上运行 xcode 12.4。如果有人知道任何方法可以从 xcode 中获取有关崩溃的更多信息,那也很有用。
我试过在英特尔 MacBook 上安装,效果很好。
解决方案
M1 处理器是 ARM。
您为 x86_64(英特尔架构)编译,这意味着它不兼容。
您必须为 ARM 编译它,否则它将无法运行。(这就像尝试在 .NET 中运行 JVM 字节码,它只是行不通)
有关更多信息,请参阅此答案
推荐阅读
- javascript - 如何获取使用 onmouseover 在循环中创建的 div 的 ID
- html - Bootstrap 4 - 如何在 modal.backdrop 中删除或编辑不透明度
- python - 有没有办法自动关闭 spark/jupyter 会话
- git - VS Code 中的 Git 提交,没有任何消息
- csv - perl如何去掉逗号
- c# - IL Generate Proxy to User Define Func
- css - pac-container 反应自动完成 - 我如何引用 CSS
- javascript - Node js 中的条件承诺
- c++ - 从鼠标位置数学设置 Actor 世界位置
- javascript - 我按照 ReactNative 文档构建 AwesomeProject iOS 目标,但在构建 tvOS 时遇到了问题