2011-08-27 48 views
0

我的应用程序构建罚款模拟器,但不是设备:的Xcode的ARMv7问题

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

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

我想我必须做一些与图书馆的链接形式?但是如何?

谢谢。

回答

1

很可能您必须重新编译ParseKit以获得armv7体系结构。你是否遵循ParseKit主页上的instructions for iPhone?它似乎没有明确提到armv7,但我猜如果您将parsekit.a作为ParseKit项目文件中的目标添加到您自己的项目文件中,那么XCode应该认识到目标必须重新构建为armv7

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

+0

我遵循这一点,它一直工作,但现在当我尝试部署到该设备的错误踢英寸如何重新编译parsekit为armv7?它提供英特尔选项。 – FBryant87

1

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

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

谢谢,步骤2是一个简单的吗?我会怎么做呢? – FBryant87

+0

我对xcode不熟悉,但它应该使用单个选项来完成,因为它由单个编译器标志控制。通常,编译armv5或armv6的代码可以编译为armv7。 –

2

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

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

enter image description here

您也可以尝试改变“基地SDK”设置到iOS,应该给你手臂的架构选项。

+0

它说Parsekit的体系结构使用Mac OS,所以选项不同,有什么想法? – FBryant87

+0

我看了一下ParseKit并更新了我的答案。 –