2011-12-12 85 views
10

我正在嘗試執行半頁捲曲功能。這是我使用的代碼:鏈接器命令失敗,用於架構i386的未定義符號

#import <QuartzCore/QuartzCore.h> 


CATransition *animation = [CATransition animation]; 
[animation setDelegate:self]; 
[animation setDuration:1.0f]; 
[animation setTimingFunction:UIViewAnimationCurveEaseInOut]; 
[animation setType:(notCurled ? @"mapCurl" : @"mapUnCurl")]; 
[animation setRemovedOnCompletion:NO]; 
[animation setFillMode: @"extended"]; 
[animation setRemovedOnCompletion: NO]; 
notCurled = !notCurled; 

但我遇到了以下錯誤

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


    "_OBJC_CLASS_$_CATransition", referenced from: 


     objc-class-ref in SJMapViewController.o 


ld: symbol(s) not found for architecture i386 


clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我該如何解決呢?

回答

23

你的應用正在抱怨它無法找到CATransition Symbol。

您是否將QuartzCore框架添加到您的應用程序中?

如果不添加它:轉到您的目標設置 - >構建階段 - >鏈接二進制 - >選擇+按鈕並選擇QuartzCore。

然後導入它,你需要使用它:

 #import <QuartzCore/QuartzCore.h> 
+0

我以爲我已經添加了框架,複查一下,發現我還沒有加入。謝了哥們。 –

+3

有這個相同的問題,但它必須處理從另一個庫導入到我的項目中的代碼。如果有任何人遇到該問題,請進入「構建階段」並將導入的文件添加到「編譯源」中。 – robhasacamera

+0

謝謝@robhasacamera,這正是我所需要的。無法弄清楚爲什麼我仍然有框架和導入設置正確的問題。 –

相關問題