Undefined symbols for architecture

I ran across my favorite error again today. Often times these are really difficult to understand if you don’t know what they are referring to. Here’s the one that I got:

Undefined symbols for architecture x86_64:

  “_CATransform3DMakeRotation”, referenced from:

      -[SOFViewController updateScaleName] in SOFViewController.o

ld: symbol(s) not found for architecture x86_64

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

Turns out this is super easy. In this case, the symbol is undefined because the QuartzCore library isn’t included, despite the inclusion of #include <QuartzCore/QuartzCore.h>.

The binary needs to be linked with the library, conveniently in the “link binary with libraries” section under build phases in Xcode.

Leave a Reply

Your email address will not be published. Required fields are marked *