0

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.

Alex
  • 535
  • 6
  • 16

2 Answers2

0

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

Daniel V
  • 45
  • 1
  • 9
  • I changed the Architectures and Valid Architectures to armv6 and that compiled, but I was unable to run the application on my iPad mini. The documentation for this library is here https://github.com/orbotix/Sphero-iOS-SDK/blob/master/release%20notes/version1.6.md#projects-using-this-sdk-should and instructs to only have armv7 armv7s architectures. These libraries were updated today, perhaps the RobotKit library is not properly updated? – Alex Nov 06 '13 at 07:59
0

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.

wes felteau
  • 121
  • 3
  • I have deleted the frameworks, deleted the files locally and emptied the trash, cleaned the project, built to make sure it wasn't finding one, restarted XCode, double checked to have the correct repo fully up to date (94270b44ae), copied the frameworks in and built to get the same error. I've also started a new project with only the framework to have the same issue. Any other suggestions? – Alex Nov 07 '13 at 22:42