静态iOS库为设备而不是模拟器构建

时间:2012-04-17 14:33:24

标签: iphone ios xcode linker

获取此错误,尽管该库位于Link with Binary Libraries区域,并且还包含头文件。

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_TestLibraryEric", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我为模拟器构建时遇到此错误,但不是设备。我以相反的方式看到了这个问题,它为模拟器而不是设备构建。仅针对活动架构的构建设置为NO Any ideas?

1 个答案:

答案 0 :(得分:5)

错误意味着TestLibraryEric仅针对设备(针对ARM体系结构编译)而不是针对模拟器(i386体系结构)构建。

如果库是您创建的库,则需要更改构建设置。

Supported Platforms字段中,您应该iphoneos

添加iphonesimulator,您的库将同时为设备和模拟器构建。

做一个干净的,重建库,它应该可以解决问题。