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. 4.2 の代わりに gcc 4.0 を使用してみてください。

  2. SDK 4.0 で修正されているはずです。

彼が指しているコードは SDK 4.0修正されたようです (そして、この動作を示す最小限のアプリの彼の例は私にとっては問題なく動作します) が、まだこのエラーが発生しています。

4

1 に答える 1

1

展開ターゲット 3.0 でアプリをコンパイルしただけであることがわかりました。3.0 の展開ターゲットでライブラリもコンパイルすると、正しく機能しました。

于 2010-07-07T23:28:03.613 に答える