0
votes

I'm trying to set up the iOS SDK that was pushed out today, and I'm getting a few linker errors. I changed my deployment target to iOS 7.0 and got a lot of linker errors, then changed it to 6.0 and got a few linker errors, so I stuck with iOS 6.0. Here is my output

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_RKMCStop", referenced from:
      objc-class-ref in RobotKit(RKMacroObject.o)
  "_OBJC_CLASS_$_RKMCWaitUntilStop", referenced from:
      objc-class-ref in RobotKit(RKMacroObject.o)
      objc-class-ref in RobotKit(RKRobotControl+MacroAdditions.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I've double checked my linker flags and attached libraries, and can't find anything out of the ordinary. I'm putting this over a previous project that was set up and working with the previous libraries.

2

2 Answers

0
votes

Seams that your are using a library that is not valid for armv7.

Under Xcode -> Build Settings -> Architectures check the property "Valid Architectures"

You have armv7 there try to use armv6 instead.

Also this problem can be related if you are using a framework that is not available into the list of your frameworks anymore, or a Library that is not linked (Check the Library Search Path) in that case

0
votes

The Sphero 1.6 RobotKit libraries are valid for armv7 and armv7s but do not support arm64 yet. The error seems to be due to an old link to the 1.5 library. Make sure that you 'trash' the original 1.5 RobotKit.Framework and associated files before dragging the new 1.6 libraries into your project.

Also - The Maximum valid "General-Deployment Target" is currently 6.0 due to incompatibilities in XCode5.