【问题标题】:iOS: error when running project on real deviceiOS:在真实设备上运行项目时出错
【发布时间】: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 库?提前致谢。

【问题讨论】:

    标签: c++ ios iphone architecture lib


    【解决方案1】:

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

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

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

    【讨论】:

    • 是的,这确实是问题所在。但我不知道如何将整个外部库编译成 arm64 架构。是不是和 CMake 交叉编译有关?
    猜你喜欢
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多