题
我已经度过了无数个小时令人费解了这一点,利用谷歌搜索和其他堆溢出的问题无济于事。
我有一个iPhone普遍应用程序,它似乎要编纂现在的目标是armv6.但是,当设备iPad,我得到这个警告:
warning: building for SDK 'Device - iPhone OS 3.2' requires an armv7 architecture.
奇怪的是,应用程序仍然运行良好果尽管有这一警告。然而,我想要做的事情"正确的方法"究竟意味着在这种情况。当我开关的目标构架的armv7,我获得联错误:
"___restore_vfp_d8_d15_regs", referenced from: *redacted* "___save_vfp_d8_d15_regs", referenced from: *redacted* ld: symbol(s) not found collect2: ld returned 1 exit status
在"修订"部分的错误引用的静态图书馆的哪我想链接。
这里就是我已经尝试了许多建议,在线。这些建议多次没有任何解释,这使我相信没有人相当了解这个问题:
"永远不会使用的下拉菜单在左上的模式窗口选择的目标。相反,设置这种基SDK然后基SDK的iPhone OS3.0在目标的配置。设置目标设备给你的首选目标(,OS3.2在我的情况。)"
此产生的误差"的图书馆找不到-lcrt1.3.1.o"
"确保海湾合作委员会不是联系对错误的标准版本的图书馆。(你必须确保LIBRARY_SEARCH_PATH没有错误的道路。)"
我LIBRARY_SEARCH_PATH已经是空的,因此这似乎不相关的。
"尝试编制与海湾合作委员会4.0而不是海湾合作委员会4.2."
我的语法错误内UIKit头文件。错误"的语法错误之前AT_NAME'标记。" 该线"UIKIT_EXTERN@口UILocalizedIndexedCollation:NSObject."
另一个项目,编制刚刚好的 同样目标设置, 这是真的让我的问题我的理智。我能处理腐败的模式的项目?
如果有人知道什么是实际发生的并且具有参考或不介意解释它,我将非常感激。
干杯!
解决方案
非常之间ARMv7和ARMv6的不同之处以各种方式。在ARMv7其通常最好使用霓虹灯。问题是你的静态图书馆取决于非常在ARMv6-你要么需要汇编图书馆在ARMv7或让整个应用程序在ARMv6.
回到海湾合作委员会4.0是愚蠢-ARMv7支持基本上是不存在的背后,除非苹果移植。
其他提示
我有同样的错误,除非它是armv6.我固定他们通过取消"编译为拇指"在该项目设置的静态图书馆和主要项目。
尽AT_NAME错误感到关切的是一种可能是 如果你错过@端中的一类。
要知道更多关于AT_NAME错误访问以下链接
http://iosdevelopertips.com/xcode/error-syntax-error-before-at_name-token.html