iOS 4.3上的libobjc.A.dylib编译错误

时间:2011-11-13 13:58:40

标签: ios xcode

我在iOS模拟器4.3中遇到编译错误我实际上无法弄明白,我得到的错误是:

dyld: lazy symbol binding failed: Symbol not found: _objc_retain
  Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_retain
  Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib

注意:
被引用的库(libobjc.A.dylib)实际上在'预期的位置' 该代码在iOS5设备和iOS5模拟器中运行良好。

2 个答案:

答案 0 :(得分:28)

在Build Settings中添加-fobjc-arc =>其他链接器标志( OTHER_LDFLAGS )用于不同的配置

答案 1 :(得分:1)

  

如果您使用使用ARC并希望使用的库,则会出现此问题   在较旧的iOS 4设备上构建/运行。

在构建设置中=>其他链接标志

  • 添加-fobjc-arc
  • 如果尚未解决,请添加-weak_library /usr/lib/libobjc.A.dylib