Я только что обновился до 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
Я нашел это сообщение в блоге , но, похоже, он не дает никаких советов, кроме
попробуйте использовать gcc 4.0 вместо 4.2 и
это должно быть исправлено в SDK 4.0.
Похоже, что код, на который он указывает , был исправлен в SDK 4.0 (и его пример минимального приложения, демонстрирующего такое поведение, прекрасно работает для меня), но я все еще получаю эту ошибку.