直到Xcode4最终版(当时我使用的是3.latest和4 GM ),这种情况才会发生。当我升级到Xcode4最终版本时,在尝试将armv7版本链接到我的非armv7库(我的项目是用默认的标准armv6 armv7有效架构设置的)时,开始出现链接错误:
ld: warning: ignoring file ../bin/iOS static/arm/libssl.a, file was built for archive which is not the architecture being linked (armv7)
ld: warning: ignoring file ../bin/iOS static/arm/libcrypto.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7: -- list of symbols --armv6版本编译得很好,但是整个编译过程失败了,出现了77个链接错误。
我理解这是预期的行为,它不会通过armv6库链接到armv7。修复方法是将我的项目设置为armv6 only。我的问题是:为什么这在以前的xcode版本中是有效的?
如果我设置为armv6 only,我将开始收到以下警告:
Check dependencies
[BWARN]warning: all apps should include an armv7 architecture (current ARCHS = "armv6").我不喜欢看到警告:-)有人有类似的问题吗?
谢谢,
费尔南多
发布于 2011-04-01 20:28:54
我刚刚在Project -> Build Setting -> architecture选项卡中将Build active architecture only设置为Yes。
发布于 2011-03-28 08:55:08
在iOS SDK4.3中,看起来链接器将简单地拒绝在armv7二进制文件中使用armv6库-这不是以前的情况。
这就是为什么我必须更新http://code.google.com/p/ios-static-libraries/项目以生成库的armv6和armv7版本的原因。
发布于 2011-07-07 11:13:28
我已经在项目中添加了带有一些演示类的第三方框架,但一旦成功实现它,我就删除了这些演示类,然后开始出现错误 "ld:.........,文件是通用的,但不包含架构armv6的(N)armv6切片“
在挠头了一整天之后,第二天早上我发现这个解决方案可能对iphone的伙伴们有帮助,因为我知道其中的痛苦
Targets->"Your Project Target"->获取信息->Build Active Architecture仅设置为YES
就是这样..
https://stackoverflow.com/questions/5316495
复制相似问题