Project不适用于iphone模拟器。

时间:2011-12-09 11:27:18

标签: objective-c ios ios-simulator

我在尝试为iphone模拟器构建时遇到此错误:

    d: warning: ignoring file /users/salehshah/SmartSwipe/libANMobilePaymentLib.a, file was    built for archive which is not the architecture being linked (i386) Undefined symbols for architecture i386:

请注意我在iOS 5中使用xcode 4.2。项目在设备上构建并运行良好。我认为在链接静态库时存在一些问题。可能是架构有问题。

1 个答案:

答案 0 :(得分:2)

您正在链接的静态库未针对模拟器进行编译。如果这是一个预编译库,您可能需要创建一个版本,其中包括所有三个iOS架构armv6 armv7和i386。您可以通过自己编译每个体系结构然后使用lipo将它们链接在一起来查看man lipo

另一方面,如果您将库编译为应用程序目标的依赖项,则构建设置出现问题。查看库构建设置,即ARCHSVALID_ARCHS