【问题标题】:Error when compiling on iPhone, not iPhone simulator在 iPhone 而非 iPhone 模拟器上编译时出错
【发布时间】:2012-12-06 03:05:46
【问题描述】:

这是错误信息:

ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/Michael/Desktop/Phattie/phattie/SpeechKit.framework/SpeechKit for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

是的,这是一个可怕的 Mach-O 链接器错误。我受不了他们。我的应用程序的早期版本在我的 iPhone 上运行,我只是好奇发生了什么,感谢任何帮助!

  • 迈克尔

【问题讨论】:

    标签: iphone objective-c compiler-errors linker-errors mach-o


    【解决方案1】:

    您正在使用 armv7s 架构构建应用,但 SpeechKit 不包含这样的架构。要么获取包含 armv7s 的框架的更新版本,要么从您的应用使用的架构列表中删除 armv7s。

    【讨论】:

    • 好的,这很清楚,但为什么要在模拟器上构建呢?只是我的 iPhone 的构建设置不同?
    • 模拟器只使用i386架构。设备构建使用 armv7 和可能的 armv7s(并且曾经使用 armv6)。
    • 这是有道理的。会不会是我不小心下载了框架的mac版本的错误?我也怀疑,如果我要从应用程序中删除 armv7s 架构,它会损坏吗?
    • 如果你有 Mac 版本,那么它不会有 armv7。从您的应用架构中移除 armv7 只是意味着它不会针对 iPhone 5 等较新的 iOS 设备进行优化,但它仍然可以正常工作。
    • 非常感谢!你是一个很大的帮助!你这方面知识渊博,你从哪里获得的这些知识?
    猜你喜欢
    • 2010-12-10
    • 1970-01-01
    • 2012-06-11
    • 2011-05-08
    • 2012-03-08
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多