添加第三方类库造成的Undefined symbols for architecture i386:编译错误

在使用下拉刷新类库EGORefreshTableHeaderView的时候,将资源文件添加到工程中,但是忘记假如QuartzCore.framework框架,造成编译错误:

 

Undefined symbols for architecture i386:

  "_CATransform3DMakeRotation", referenced from:

      -[EGORefreshTableHeaderView setState:] in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_OBJC_CLASS_$_CALayer", referenced from:

      objc-class-ref in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_OBJC_CLASS_$_CATransaction", referenced from:

      objc-class-ref in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_CATransform3DIdentity", referenced from:

      -[EGORefreshTableHeaderView setState:] in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_kCAGravityResizeAspect", referenced from:

      -[EGORefreshTableHeaderView initWithFrame:arrowImageName:textColor:] in EGORefreshTableHeaderView-6F75314CE1079327.o

  "_kCATransactionDisableActions", referenced from:

      -[EGORefreshTableHeaderView setState:] in EGORefreshTableHeaderView-6F75314CE1079327.o

ld: symbol(s) not found for architecture i386

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

 

添加第三方类库造成的Undefined symbols for architecture i386:编译错误_第1张图片

 

 

解决方法:targets——>build phases——>link binary with libraries——>QuartzCore.framework

 

当添加其他类库的时候也可能因为没有添加framework或者是它们依赖的库同样也会出现这样错误。

 

我们是自定义了framework,然后这个framework中用到了别的framework却没有引入,所以导致了错误,谨记导入所有用到的framework

你可能感兴趣的:(Architecture)