升级到3.1.3上运行的iPhone SDK 4.0后,未找到Symbol错误

升级到3.1.3上运行的iPhone SDK 4.0后,未找到Symbol错误,iphone,ios4,dynamic-linking,Iphone,Ios4,Dynamic Linking,我刚刚升级到iPhone SDK 4.0,重新编译了我的静态库和应用程序,当我在iOS 3.1.3(使用部署目标3.0)设备上运行它时,它说: dyld: lazy symbol binding failed: Symbol not found: ___sync_fetch_and_add_4 Referenced from: /var/mobile/Applications/7CA42202-DA9D-4A10-918D-593362E18000/renderer.app/renderer

我刚刚升级到iPhone SDK 4.0,重新编译了我的静态库和应用程序,当我在iOS 3.1.3(使用部署目标3.0)设备上运行它时,它说:

dyld: lazy symbol binding failed: Symbol not found: ___sync_fetch_and_add_4
  Referenced from: /var/mobile/Applications/7CA42202-DA9D-4A10-918D-593362E18000/renderer.app/renderer
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ___sync_fetch_and_add_4
  Referenced from: /var/mobile/Applications/7CA42202-DA9D-4A10-918D-593362E18000/renderer.app/renderer
  Expected in: /usr/lib/libSystem.B.dylib
我找到了这个,但除了这个,它似乎没有给我任何建议

  • 尝试使用GCC4.0而不是4.2,并且

  • 它应该在SDK 4.0中修复


  • 他所指的代码似乎在SDK 4.0中得到了修复(他的示例是一个表现出这种行为的最小应用程序,对我来说效果很好),但我仍然得到了这个错误。

    事实证明,我只编译了部署目标为3.0的应用程序;一旦我还编译了部署目标为3.0的库,它就正常工作了