Xcode armv7问题

时间:2011-08-27 13:16:15

标签: iphone objective-c xcode parsekit

我的应用程序适用于模拟器但不适用于设备:

  

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

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

我想我必须与图书馆建立某种形式的链接?但是如何?

感谢。

3 个答案:

答案 0 :(得分:2)

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

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

enter image description here

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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