开发者

Symbol not found error after upgrading to iPhone SDK 4.0, running on 3.1.3

I just upgraded to iPhone SDK 4.0, and recompiled my static libraries and app, and when I run it on a device with iOS 3.1.3 (using deployment target 3.0), it says:

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 f开发者_Go百科rom: /var/mobile/Applications/7CA42202-DA9D-4A10-918D-593362E18000/renderer.app/renderer
  Expected in: /usr/lib/libSystem.B.dylib

I found this blog post, but it doesn't seem to give any advice other than

  1. try to use gcc 4.0 instead of 4.2, and

  2. it should have been fixed in the SDK 4.0.

It appears that the code he points to was fixed in SDK 4.0 (and his example of a minimal app that exhibits this behavior works fine for me), but I'm still getting this error.


It turns out that I had only compiled the app with deployment target of 3.0; once I also compiled the libraries with deployment target of 3.0, it worked correctly.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜