2012-04-27 16 views
19

Ciągle otrzymuję to ostrzeżenie, a błędy mogą pomóc każdemu?brakuje wymaganej architektury armv7 w pliku?

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) 

moja aplikacja funkcjonowanie grzywny w symulatorze nie dostanę to jest to tylko kiedy zbudować do telefonu.

Odpowiedz

60

trzeba połączyć przeciwko ramach SystemConfiguration. Wybierz swój projekt w nawigatorze projektu Xcode, wybierz cel aplikacji i wybierz zakładkę Fazy budowy. W obszarze Link Binary With Libraries kliknij przycisk "+" i wybierz SystemConfiguration.framework.

Mogą istnieć inne zależności między strukturami, które trzeba dodać w taki sam sposób, ale dodanie SystemConfiguration jest tym, co naprawiło dla mnie te same błędy.

ETA: Podskoczyłem do błędów i nie widziałem ostrzeżenia ld na górze pasty. Jeśli już łączysz się z SystemConfiguration, może spróbuj usunąć i ponownie dodać, a jeśli wszystko inne zawiedzie, zaktualizuj Xcode. Najnowsze wydanie zdecydowanie ma odpowiednią architekturę, więc brzmi dla mnie tak, jakby twój projekt szukał w złym miejscu lub coś jest nie tak z samym frameworkiem.

+0

Ty, mój przyjacielu, rock. To zajęło 30 sekund i natychmiast rozwiązało to dla mnie. Dzięki. –

+0

nice - dzięki za szybką naprawę. – Ramesh

+0

Dzięki za to! Właśnie uratowałeś mnie przed tym, co mogło być długim popołudniem :) – hover

0

Dodaj armię w projekcie (Path => Project tittle(select Xcode blue color reject title) -> Build Setting -> ARCHS) w tym Łuki jeśli nie masz ARMv7 niż dodać go ...

Hope, to pomoże ..

1

Pls upewnij się, aby dodać wszystko niezbędną bibliotekę do budowy aplikacji. Błąd ten wydaje się pominięcia niektórych plików ..

0

Go kliknąć na projekcie icon-> Cele -> Ustawienia -> Zbuduj Architektury

Click -> Pozostałe + i dodać armv6 w określonej kolumny .. .

Clean and Build

0

Zdarzyło mi się, gdy dodawałem ramę, która została zbudowana za pomocą Carthage, a jej cel wdrożenia został ustawiony na system iOS 11, ale budowałem na iOS 9. W związku z tym brakowało architektur 32-bitowych (armv7, i386). Zmieniłem docelowy poziom wdrożenia dla tego systemu na iOS 9 i to naprawiło mój problem.