【问题标题】:Xcode armv7 issueXcode armv7 问题
【发布时间】:2011-08-27 13:16:15
【问题描述】:

我的应用程序在模拟器上构建得很好,但在设备上却没有:

ld:警告:忽略文件 /Users/newuser/Downloads/release-1.5-tag/build/Release-iphoneos/parsekit.a,文件是为存档而构建的,它不是被链接的架构 (armv7)

我正在使用 ParseKit 库,它似乎不喜欢与 armv7 混合。

我认为我必须与图书馆进行某种形式的链接?但是怎么做呢?

谢谢。

【问题讨论】:

    标签: iphone objective-c xcode parsekit


    【解决方案1】:

    你似乎已经链接了这个库,只是它不是为 armv7 构建的。

    ParseKit Xcode 项目有一个名为 ParseKitMobile 的目标,它是为 armv7 构建的。尝试使用它。

    您还可以尝试将“Base SDK”设置更改为 iOS,这应该会为您提供架构的 arm 选项。

    【讨论】:

    • 它说 Parsekit 的架构使用 Mac OS,所以选项不同,有什么想法吗?
    【解决方案2】:

    您可能必须为 armv7 架构重新编译 ParseKit。你在关注 ParseKit 主页上的instructions for iPhone 吗?它似乎没有明确提到 armv7,但我想如果你将 parsekit.a 作为 ParseKit 项目文件中的目标添加到你自己的项目文件中,那么 XCode 应该认识到必须为 armv7 重新构建目标。

    注意:说明是针对 XCode 3 的,我猜你正在使用 XCode 4,但整个想法应该是一样的。

    【讨论】:

    • 我遵循了它并且它总是有效,但是现在当我尝试部署到设备时,错误开始了。如何为 armv7 重新编译 parsekit?它提供英特尔选项。
    【解决方案3】:

    parsekit.a 是一个静态库,它必须与具有相同 ABI 的二进制文件静态链接。所以你有以下选择:

    1. 为与 parsekit.a 相同的 ABI 构建代码;
    2. 为 armv7 构建 parsekit.a;
    3. 将 parsekit 构建为共享库;
    4. 为 parsekit.a 编写包装器,将其构建为共享库并公开您需要的所有 API。

    【讨论】:

    • 谢谢,第 2 步简单吗?我该怎么做呢?
    • 我对 xcode 不熟悉,但应该使用单个选项来完成,因为它由单个编译器标志控制。通常为 armv5 或 armv6 编译的任何代码都可以为 armv7 编译。
    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多