0

我刚刚升级到 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

我找到了这篇博文,但除了它似乎没有提供任何建议

  1. 尝试使用 gcc 4.0 而不是 4.2,并且

  2. 它应该已在 SDK 4.0 中修复。

看来他指向的代码已在 SDK 4.0修复(并且他展示此行为的最小应用程序示例对我来说效果很好),但我仍然收到此错误。

4

1 回答 1

1

原来我只编译了部署目标为 3.0 的应用程序;一旦我还编译了部署目标为 3.0 的库,它就可以正常工作。

于 2010-07-07T23:28:03.613 回答