Синтаксическая ошибка перед токеном '^' - PullRequest
2 голосов
/ 23 июня 2010

Я только что обновил core-plot до последней версии в приложении, которое уже запускало успешные графики.Я следовал довольно простым инструкциям к письму, однако получаю 20 синтаксических ошибок в UIView.h. Кажется, я не одинок , но никто еще не опубликовал решение проблемы.

Пример:

Этот код из UIView.h

+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_0);

выдает ошибку компиляции «Синтаксическая ошибка перед токеном ^»:

/var/folders/UO/UOZJs7XuF5iROp2HMSTlz++++TI/-Caches-/com.apple.Xcode.501/CompositeSDKs/iphonesimulator-iPhoneSimulator4.0-drysryiarqddqccmfooifrjfbivi/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:250:0 Syntax error before '^' token in /var/folders/UO/UOZJs7XuF5iROp2HMSTlz++++TI/-Caches-/com.apple.Xcode.501/CompositeSDKs/iphonesimulator-iPhoneSimulator4.0-drysryiarqddqccmfooifrjfbivi/System/Library/Frameworks/UIKit.framework/Headers/UIView.h

Предполагается, что решение связано с настройками сборки.Что может вызвать эту ошибку?Я не знаком с синтаксисом (^) в Objective-C.

1 Ответ

11 голосов
/ 24 июня 2010

^ в этом контексте - реализация Apple блоков .

Мое первое предположение - вы пытаетесь скомпилировать библиотеку с GCC 4.0, который не распознает синтаксис.Возможно, попробуйте изменить настройки вашего компилятора на GCC (или LLVM-GCC). 4.2.

Еще одна опция, связанная с компилятором, которая может помочь, - полностью изменить компилятор с GCC.Если у Clang также есть проблемы с компиляцией, скорее всего, он покажет вам лучшее сообщение об ошибке.

...