2012-04-19 18 views
7

Przeczytałem wiele postów na SO i żadne z proponowanych rozwiązań nie działa dla mnie. Mam nadzieję, że ktoś, kto wie nieco więcej na temat interpretowania błędów, może pomóc.Niezdefiniowane symbole dla architektury armv7, ld: nie znaleziono symboli dla architektury armv7 - co robić?

Moja aplikacja działała poprawnie (i nadal działa), ale mam problem z używaniem określonej klasy "iCarousel", która jest implementacją Cover Flow.

Oto interesująca sprawa: podczas otwierania przykładowego projektu dla iCarousel działa poprawnie na moim iPhonie. Moja aplikacja (w oddzielnym projekcie) również działa dobrze. Oboje korzystają z architektur armv6 armv7 i działają na iOS 5.1.

Następnie kopiuję klasę do mojego własnego projektu i dodam wszystkie niezbędne struktury. Nie ma jeszcze błędów. Ale kiedy zbudować i uruchomić pojawia się błąd:

Ld /Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp- 
ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Intermediates/TestApp.build/Debug- 
iphoneos/TestApp.build/Objects-normal/armv7/TestApp normal armv7 

    cd "/Users/Sooper/Developer/TestApp v1.0" 
    setenv IPHONEOS_DEPLOYMENT_TARGET 5.0 
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin: 
    /Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot 

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk 
-L/Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Products/ 
Debug-iphoneos -F/Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Products/ 
Debug-iphoneos -filelist /Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Intermediates/TestApp.build/ 
Debug-iphoneos/TestApp.build/Objects-normal/armv7/TestApp.LinkFileList -dead_strip -miphoneos- 
version-min=5.0 -lz -framework QuartzCore -framework CoreGraphics -framework 
SystemConfiguration -lxml2.2.7.3 -framework Security -framework CoreMedia -framework Accounts 
-framework CoreFoundation -framework AudioToolbox -framework AVFoundation -framework Twitter - 
framework MediaPlayer -framework UIKit -framework Foundation -o 
/Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp- 
ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Intermediates/TestApp.build/Debug- 
iphoneos/TestApp.build/Objects-normal/armv7/TestApp 

Pod tym:

Undefined symbols for architecture armv7: 
    "_OBJC_CLASS_$_ArtworkScrollerViewController", referenced from: 
     objc-class-ref in TestAppViewController.o 
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Jeśli usunąć instancję klasy błąd odchodzi i tras aplikacji. Jestem całkowicie zdezorientowany. Dlaczego miałby działać osobno, ale nie w innym projekcie?

Byłbym wdzięczny za wskazówki.

+0

Ten [Odpowiedź] [1] pomógł mi z tym samym problemem, dać to spróbować! [1]: http://stackoverflow.com/a/10170293/945831 –

Odpowiedz

20

upewnij się dodać ArtworkScrollerViewController.m do celu, które budują

+0

Dzięki dla odpowiedzi. Jak dodać obiekt "ArtworkScrollerViewController.m" do miejsca docelowego? Czy byłoby to sprawdzić "Docelowe członkostwo" w przeglądarce informacji klasy? Zrobiłem to, ale wciąż mam ten sam błąd. – sooper

+0

Czyściłem i biegałem ponownie, wydawało się, że to naprawiłem. Dzięki – sooper

+4

@sooper Aby dodać go do celu, otwórz menu po prawej stronie w XCode (Narzędzia), gdy wybrana jest opcja 'ArtworkScrollerViewController.m'. W Inspektorze plików znajduje się menu "Docelowe członkostwo". Jeśli to wybierzesz, doda to .m do celu. – RileyE

Powiązane problemy