Xcode 4 Final - 与armv6 libs链接时出现"armv6 armv7"问题

cus*_*nho 17 iphone xcode static-linking armv7 armv6

直到xcode 4 final(我在可用的时候使用3.latest和4 GM)这没有发生.当我升级到xcode 4最终版本时,我在尝试将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 --
Run Code Online (Sandbox Code Playgroud)

armv6版本编译得很好,但整个编译过程失败,出现77个链接错误.

我理解这是预期的行为,它不会与armv6 lib链接到armv7.该修复程序仅将我的项目设置为armv6.我的问题是:为什么这在xcode的早期版本中有效?

如果我只设置为armv6,我会开始收到此警告:

Check dependencies

[BWARN]warning: all apps should include an armv7 architecture (current ARCHS = "armv6").
Run Code Online (Sandbox Code Playgroud)

我不喜欢看到警告:-)任何人有类似的问题?

谢谢,

费尔南多

Ric*_*ick 22

我刚刚在项目 - >构建设置 - >架构选项卡中将构建活动架构仅转为是.

  • 我会说只会阻止当前设备发生此错误.归档提交后,您可能希望支持所有体系结构 (3认同)

Pol*_*Pol 7

在iOS SDK 4.3中,链接器似乎只是拒绝在armv7二进制文件中使用armv6库 - 以前情况并非如此.

这就是我必须更新http://code.google.com/p/ios-static-libraries/项目以生成库的armv6和armv7版本的原因.