2011-02-10 19 views
18

Dostaję dziwne błędy linkowania w XCode. W mniejszym lub większym stopniu rozumiem, na czym polegają błędy w linkowaniu, ale nie dlatego, że pojawiają się w mojej sytuacji.Co powoduje błędy linkowania iOS?

Mam aplikację, która zaczęła się jako iPhone. Kiedy dostosowałem go do uniwersalności, otrzymałem kilka dziwnych błędów łączących. Potem po prostu utworzyłem nowy projekt uniwersalny i zaimportowałem pliki, zbudowałem je i wykonałem bezbłędnie. Teraz, pracując z interfejsem iPada, dodałem animacje i odziedziczyłem QuartzCore/QuartzCore.h, ale kiedy buduję, otrzymuję błędy linkowania (pokazane poniżej). Co powoduje tego rodzaju problem, jak mogę go naprawić i jak mogę go uniknąć w przyszłości?

"_OBJC_CLASS_$_CAMediaTimingFunction", referenced from: 
objc-class-ref-to-CAMediaTimingFunction in mainViewController_iPad.o 

"_OBJC_CLASS_$_CABasicAnimation", referenced from: 
objc-class-ref-to-CABasicAnimation in mainViewController_iPad.o 

"_kCAMediaTimingFunctionEaseIn", referenced from: 
_kCAMediaTimingFunctionEaseIn$non_lazy_ptr in mainViewController_iPad.o 
(maybe you meant: _kCAMediaTimingFunctionEaseIn$non_lazy_ptr) 

"_OBJC_CLASS_$_CAKeyframeAnimation", referenced from: 
objc-class-ref-to-CAKeyframeAnimation in mainViewController_iPad.o 

"_OBJC_CLASS_$_CAAnimationGroup", referenced from: 
objc-class-ref-to-CAAnimationGroup in mainViewController_iPad.o 

"_CATransform3DIdentity", referenced from: 
_CATransform3DIdentity$non_lazy_ptr in mainViewController_iPad.o 
(maybe you meant: _CATransform3DIdentity$non_lazy_ptr) 

ld: symbol(s) not found 
collect2: ld returned 1 exit status 
+7

Czy masz w swoim projekcie framework QuartzCore? –

+1

@Paul R: Dlaczego Twój komentarz nie jest odpowiedzią? –

+0

@Marcelo: to było tylko odgadnięcie w tym czasie, i wydawało się to trochę zbyt oczywiste, ale najwyraźniej się myliłem. ;-) –

Odpowiedz

63

Należy dodać QuartzCore.framework.

+0

Wielkie dzięki. Nie wiedziałem o dodaniu biblioteki do samego celu. –

+0

potrzebujesz też dodać ten import #import ademar111190

+1

To jest false @ ademar111190. Nie otrzymasz błędu, jeśli nie próbowałeś zaimportować nagłówka. Ten błąd występuje, ponieważ próbujesz zaimportować w środowisku, które nie jest połączone z Twoją aplikacją. – WrightsCS

Powiązane problemy