iOS 和犰狳(mach-o,但不是为 iOS 模拟器构建的)

Posted

技术标签:

【中文标题】iOS 和犰狳(mach-o,但不是为 iOS 模拟器构建的)【英文标题】:iOS & Armadillo ( mach-o, but not built for iOS simulator) 【发布时间】:2018-08-23 11:01:50 【问题描述】:

我正在尝试构建ios app,我必须链接ArmadilloXcode 可以毫无问题地编译和构建并运行模拟器,但得到 mach-o, but not built for iOS simulator 并在启动屏幕上等待......

搜索了大约一周,但没有运气。甚至查看了所有主题。

更新:

我解决了我的问题。

包含犰狳并删除了 .dylib。

那么;

#define ARMA_DONT_USE_WRAPPER
#include <armadillo>

现在使用模拟器没有问题。

谢谢。

【问题讨论】:

【参考方案1】:

我认为这是因为您的库 Armadillo 出于某种原因未针对 ARMv7、ARMv7s、ARM64 架构进行编译。这就是为什么你不能在 iOS 设备上运行它的原因,Mach-O 通常是一个链接器错误。

您可以在终端中使用lipo 仔细检查。

您必须使用这些架构或源代码编译Armadillo,然后自己编译。

【讨论】:

用 lipo 进行了检查,架构是 x86_64。 iOS如何安装? 也许正在发生更复杂的事情。我建议按 Command- 【参考方案2】:

更新了我的问题并添加了修复。

【讨论】:

您可以简单地将更新/修复添加为答案,并将其标记为答案,而不是更新您的问题。 (您可以回答自己的问题。) 任何人使用 Armadillo for iOS swift ??

以上是关于iOS 和犰狳(mach-o,但不是为 iOS 模拟器构建的)的主要内容,如果未能解决你的问题,请参考以下文章

在较旧的 iOS 设备上安装 IPA 时出错:无法为 64 位 Mach-O 输入文件找到匹配的拱门

通过Mach-O文件结构看iOS堆栈信息

通过Mach-O文件结构看iOS堆栈信息

当我提交带有犰狳的 iOS 应用程序时,BLAS 符号被拒绝为私有(ITMS-90338:非公共 API 使用)

iOS系统分析Mach-O二进制文件解析

iOS逆向之Mach-O文件(上)