1

我有一个我似乎无法弄清楚的问题,谷歌搜索等等。我试图在我的程序中访问 CAShapeLayer,每次我使用这行代码 CASHapeLayer *layer = [CAShapeLayer layer] 我都会收到此错误消息


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

我似乎无法理解为什么它不起作用。对于一个核心图形,默认情况下始终添加到您创建的每个项目中。因此,将#import 添加到任何文件都应该允许我使用这个类。当我输入 CA 时...我能够在智能感知中看到 CAShapeLayer。真正奇怪的是,我可以打开我的一个旧项目,而这些项目使用 CASHapeLayer,我完全没有错误。所以它特定于这个项目,我什至创建了一个新项目,但仍然发生同样的错误。谢谢您的帮助。

4

1 回答 1

11

您是否链接到 QuartzCore.framework?我敢打赌,您还没有将该框架添加到您的新项目中。

于 2013-04-11T19:58:18.487 回答