获得Apple Mach-O链接器

时间:2014-05-11 15:10:02

标签: ios xcode

这是我尝试运行项目时遇到的错误输出。

Undefined symbols for architecture i386:
"_CATransform3DMakeScale", referenced from:
  -[AMSlideMenuMainViewController viewWillAppear:] in AMSlideMenuMainViewController.o
  ___54-[AMSlideMenuMainViewController openLeftMenuAnimated:]_block_invoke in AMSlideMenuMainViewController.o
  ___55-[AMSlideMenuMainViewController openRightMenuAnimated:]_block_invoke in AMSlideMenuMainViewController.o
  ___55-[AMSlideMenuMainViewController closeLeftMenuAnimated:]_block_invoke in AMSlideMenuMainViewController.o
  ___56-[AMSlideMenuMainViewController closeRightMenuAnimated:]_block_invoke in AMSlideMenuMainViewController.o
  -[AMSlideMenuMainViewController configure3DTransformForMenu:panningView:] in AMSlideMenuMainViewController.o

ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
enter code here

这是什么意思,我怎么能摆脱它? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

XCode警告您在自定义类或链接框架中找不到在其他类中调用的类。

根据经验,每次在项目中包含自定义控件或模块时,请仔细检查是否包含所有依赖项。

因此,在您的情况下,AMSlideMenuMainViewController正在从CoreAnimation的框架调用CATransform3DMakeScale(从CA前缀推导出来),该内容包含在 QuartzCore ,但它尚未包含在您的项目配置中。

解决此问题的一种方法是在摘要选项卡中单击项目文件,然后将 QuartzCore 框架添加到框架列表中。

然后,仔细检查QuartzCore的标题是否在您需要的地方导入。

对于你,我猜在AMSlideMenuMainViewController

#import <QuartzCore/QuartzCore.h> //At the top of your file

然后,清理并构建它应该没问题!