iOS:在真实设备上运行项目时出错

Posted

技术标签:

【中文标题】iOS:在真实设备上运行项目时出错【英文标题】:iOS: error when running project on real device 【发布时间】:2017-11-07 12:28:56 【问题描述】:

我为我的 ios 项目添加了一个外部 C++ 库。这个库是从这里编译并与我的项目链接的:http://github.com/chili-epfl/chilitags/

然后当我在模拟器上运行项目时,它会编译。但是当我在 iPhone7 等真实设备上运行该项目时,它会失败。

错误很明显:

warning: ignoring file /usr/local/lib/libchilitags.dylib, file was built for x86_64 which is not the architecture being linked (arm64): /usr/local/lib/libchilitags.dylib

因为lib文件被忽略了,所以我使用的函数都导致了致命的链接错误。

原因很清楚,但我不知道该怎么办。 iPhone7 是 arm64 架构,但文件是 x86_64 架构,我们必须在真实设备上运行。

那么,我应该怎么做才能在 arm64 真实设备上运行 x86_64 库?提前致谢。

【问题讨论】:

【参考方案1】:

B那么,我应该怎么做才能在 arm64 真实设备上运行 x86_64 库?

问题在于x86arm64 使用的处理器指令集不同。

因此,您应该为arm64 编译库,或者发现它已经为目标架构编译。

【讨论】:

是的,这确实是问题所在。但我不知道如何将整个外部库编译成 arm64 架构。是不是和 CMake 交叉编译有关?

以上是关于iOS:在真实设备上运行项目时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 设备上运行 clubbed swift 和 react-native 项目时出错

iOS安全区域无法在真实设备上运行

我试图在真实设备上运行登录活动时出错(在模拟器上运行完美)

处理 Podfile 的安装后挂钩时出错。无法在 iOS 模拟器上运行颤振项目得到 pod 错误

无法在真实设备上运行 RealTimeRoom Google-Play-Games iOS ButtonClicker2000 示例

尝试为 iOS 运行或构建 Flutter 项目时出错