项目不是为 iphone 模拟器构建的。
Posted
技术标签:
【中文标题】项目不是为 iphone 模拟器构建的。【英文标题】:Project doesn't build for iphone simulator. 【发布时间】:2011-12-09 11:27:17 【问题描述】:我在尝试为 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】:您链接的静态库不是为模拟器编译的。如果这是一个预编译库,您可能希望创建一个版本,其中包括所有三种 iOS 架构 armv6 armv7 和 i386。您可以通过自己编译每个架构,然后使用 lipo 将它们链接在一起来做到这一点,请参阅man lipo
另一方面,如果您将库编译为应用目标的依赖项,则说明您的构建设置有问题。查看库构建设置,即ARCHS
和VALID_ARCHS
【讨论】:
它在模拟器上也运行良好。突然它停止运行,我没有更改任何项目设置等。 因此,如果您没有更改任何内容,则无需查看这些设置。你可能被宇宙射线击中了。 ;-) 构建后查看日志导航器(Cmd-7)。图书馆建好了吗?它是为正确的架构(即 i386)构建的吗? 它给出了这个警告:文件是为存档而构建的,而不是被链接的架构(i386) 太好了,我们做到了。我试图帮助您找出为什么它不是为正在链接的架构而构建的。但如果你不回答我的问题,我就不能。再次查看日志导航器。它列出了所有最近的构建。单击最上面的项目“Build以上是关于项目不是为 iphone 模拟器构建的。的主要内容,如果未能解决你的问题,请参考以下文章
我在 android studio 中运行我的颤振项目并尝试使用 iPhone 12 模拟器,但 Xcode 构建每次都失败
无法为模拟器构建应用程序。在 iPhone 12 上启动应用程序时出错
“无法为模拟器构建应用程序。” “在 iPhone 11 上启动应用程序时出错。”