Raj Sharma
Raj Sharma

Reputation: 11

Static .a library not building gives the Undefined symbols for architecture x86_64?

I know there is lots of question but i have asked because i am not able to find the answer.

I have my xxx.a static library. I have added in my project but when i run it throws the error

 Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_Reachability", referenced from:
      objc-class-ref in CheckConnection.o
  "_OBJC_CLASS_$_MobileSDK", referenced from:
      objc-class-ref in Utility.o

I have user lipo -info (mylibraypath) commend

it returns My library are: armv7 arm64

My valid architecture : armv7 arm64

Architecture are : $(ARCHS_STANDARD)

I am not able to run the app in simulator please help

Upvotes: 1

Views: 520

Answers (1)

graver
graver

Reputation: 15213

You need to build it also for the simulator. So choose your library and simulator and build. Find the product (the .a file) and check it with lipo you should see it's x86_64. Then find your other .a file built for armv7 and arm64 and make one fat library by

lipo -create lib1.a lib2.a -output libcombined.a

where lib1.a is the x86_64 lib and lib2.a is armv7 arm64 lib.

Upvotes: 1

Related Questions