静态.a库不构建为架构x86_64提供未定义的符号?

时间:2015-02-04 15:46:21

标签: ios objective-c xcode

我知道有很多问题,但我问过,因为我无法找到答案。

我有我的xxx.a静态库。我已经添加了我的项目,但是当我运行它时会抛出错误

 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

我有用户lipo -info(mylibraypath)推荐

它返回我的库是:armv7 arm64

我的有效架构:armv7 arm64

架构是:$(ARCHS_STANDARD)

我无法在模拟器中运行应用程序请帮助

1 个答案:

答案 0 :(得分:1)

您还需要为模拟器构建它。所以选择你的库和模拟器并构建。找到产品(.a文件)并使用lipo进行检查,您应该看到它是x64_64。然后找到为armv7arm64构建的另一个.a文件,并通过

创建一个胖库
lipo -create lib1.a lib2.a -output libcombined.a

其中lib1.ax64_64 lib,lib2.aarmv7 arm64 lib。