2010-06-04 112 views
5

當構建我的Xcode項目時,我收到一個鏈接器錯誤,我不知道如何解決。如果我編譯下面的代碼,編譯步驟就完成了,但是我從鏈接器得到一個錯誤,說'_OBJC_CLASS _ $ _ CIImage',從AppController.o中的Objc-class-ref-to-CIImage引用,接着是第二個錯誤看起來除了CIImage相同的替換CIFilter隨後的一份聲明,上面寫着「符號(S)未找到」

CIFilter *transform = [CIFilter filterWithName:@"CIAffineTransform"]; 
[transform setValue:inputBitmap forKey:@"inputImage"]; 
NSAffineTransform *affineTransform = [NSAffineTransform transform]; 
[affineTransform rotateByDegrees:3]; 
[transform setValue:affineTransform forKey:@"inputTransform"]; 
CIImage * result = [transform valueForKey:@"outputImage"]; 

此代碼是我AppController.m和鏈接器錯誤出現了以後,我把下面的語句在頂部︰

#import "QuartzCore/CIFilter.h" 

我把那個導入語句,因爲沒有它,我得到一個編譯器錯誤的第一行代碼說:「沒有+ filterWithName方法找到」,我讀的地方可可自動包括CIImage.h但不是CIFilter.h。所以... #import編譯器錯誤消失,但我得到鏈接器錯誤。 :(

任何想法是什麼原因造成的鏈接錯誤,以及如何擺脫它

FYI:我試圖尋找在另一個「Xcode的鏈接錯誤」線程這裏描述重複的文件,但無法找到我的項目中有任何重複的文件,我也很費力地創建一個全新的項目,並將我的代碼從舊項目複製到新項目中,以消除我不小心破壞了我的項目文件的可能性。仍然有同樣的問題在我的新項目。

感謝

回答

12

確保您已將QuartzCore框架添加到您的項目(鏈接框架)!

+0

確實是這個問題。非常感謝! – Adam 2010-06-04 23:02:01

15

添加「CoreImage」框架。 (嗯,我知道這個問題是舊的,但我有同樣的問題,並添加「QuartzCore」framwork沒有幫助它)。

+0

經過所有例外的答覆說QuartzCore這個答案是一個新鮮的空氣呼吸救星! – 2015-01-13 23:57:03