Xcode Linker错误:_OBJC_CLASS _ $ _ CIImage

时间:2010-06-04 17:11:01

标签: objective-c cocoa xcode

构建我的Xcode项目时,我收到一个链接器错误,我无法弄清楚如何解决。如果我构建以下代码,编译步骤就完成了,但是我从链接器中得到一个错误,说“_OBJC_CLASS _ $ _ CIImage”,从AppController.o中的Objc-class-ref-to-CIImage引用,然后是第二个错误看起来完全相同,除了CIImage被CIFilter替换后跟一个声明“未找到符号”

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中,并且在我将以下语句放在顶部后出现了Linker错误:

#import "QuartzCore/CIFilter.h"

我把那个import语句放进去了,因为没有它我在第一行代码中遇到“No + filterWithName method found”的编译器错误,我在某处读到Cocoa自动包含CIImage.h而不是CIFilter.h。所以......使用#import,编译器错误消失但我收到链接器错误。 :(

任何想法导致链接器错误以及如何摆脱它?

仅供参考:我尝试搜索重复文件,如本文另一个“xcode链接器错误”主题中所述,但在我的项目中找不到任何重复文件。我也麻烦地创建了一个全新的项目,并将我的所有代码从旧项目复制到新项目,只是为了消除我不知何故意破坏我的项目文件的可能性。我的新项目仍然存在同样的问题。

谢谢

2 个答案:

答案 0 :(得分:15)

添加“CoreImage”框架。

(嗯,我知道这个问题已经过时了。但是我遇到了同样的问题并添加了“QuartzCore”框架并没有帮助它。)

答案 1 :(得分:13)

确保已将QuartzCore框架添加到项目中(Linked Frameworks)!