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

时间:2021-03-06 09:39:07

       在使用下拉刷新类库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:编译错误


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


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