2012-04-27 24 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,並解決了我的問題。

相關問題