2012-04-27 25 views
19

我不断收到此警告和错误任何人都可以帮忙吗?在文件中缺少必需的架构armv7?

ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms  /iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks//SystemConfiguration.framework/SystemConfiguration, missing required architecture armv7 in file 
    Undefined symbols for architecture armv7: 
    "_SCNetworkReachabilityCreateWithAddress", referenced from: 
    +[Reachability reachabilityWithAddress:] in Reachability.o 
    "_SCNetworkReachabilityCreateWithName", referenced from: 
    +[Reachability reachabilityWithHostName:] in Reachability.o 
    "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from: 
    -[Reachability stopNotifier] in Reachability.o 
    "_SCNetworkReachabilityScheduleWithRunLoop", referenced from: 
    -[Reachability startNotifier] in Reachability.o 
    "_SCNetworkReachabilitySetCallback", referenced from: 
    -[Reachability startNotifier] in Reachability.o 
    "_SCNetworkReachabilityGetFlags", referenced from: 
    -[Reachability connectionRequired] in Reachability.o 
    -[Reachability currentReachabilityStatus] in Reachability.o 
    ld: symbol(s) not found for architecture armv7 
    clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我的应用程序在模拟器中工作正常我不明白这是它只是当我建立到手机。

回答

60

您需要链接SystemConfiguration框架。在Xcode的项目导航器中选择您的项目,选择您的应用程序目标,然后选择Build Phases选项卡。在Link Binary With Libraries下,单击“+”按钮并选择SystemConfiguration.framework。

可能还有其他的框架依赖关系需要以相同的方式添加,但添加SystemConfiguration是为我修复相同的错误。

ETA:我向右跳到错误处,并没有看到粘贴顶部的ld警告。如果您已经链接到SystemConfiguration,可能尝试删除并重新添加它,如果所有其他操作都失败,请更新Xcode。最新的版本肯定有正确的架构,所以对我来说,听起来像是你的项目正在寻找错误的地方或者框架本身出现问题。

+0

你,我的朋友,摇滚。这花了30秒,立即为我解决了。谢谢。 – 2012-12-01 20:31:00

+0

不错 - 感谢您的快速解决。 – Ramesh 2013-03-08 08:29:26

+0

感谢您的支持!你刚刚从本来可以长时间的下午救了我:) – hover 2013-04-13 19:23:03

0

加入军队在这个ARCHS项目(Path => Project tittle(select Xcode blue color reject title) -> Build Setting -> ARCHS),如果你不具备的ARMv7不是增加它...

希望,这将帮助你..

1

请务必添加所有必要的库来建立你的应用程序。这个错误好像你已经错过了一些文件..

0

去点击该项目icon->目标 - >构建设置 - >架构

点击 - >其他+,并在指定的列中添加的ARMv6 ..

Clean and Build

0

发生在我身上时,我包括使用迦太基建立了一个框架,它的部署目标已设定为iOS的11,但我是建立适用于iOS 9.因此,32位架构(ARMv7的,I386)失踪。我已经将该框架的部署目标更改为iOS 9,并解决了我的问题。

相关问题