CorePlot — ожидаемый токен перед токеном @

Я пытаюсь включить CorePlot в свой проект. Наконец-то мне удалось распознать файлы заголовков, но я продолжаю получать следующую ошибку в моем файле main.m.

"Ожидаемое выражение перед токеном @"

int main(int argc, char *argv[])
{ 
    @autoreleasepool { 
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([ProjectFiveAppDelegate     class]));
    }
}

person Kevin McFadden    schedule 18.12.2011    source источник


Ответы (1)


Синтаксис @autoreleasepool был представлен сравнительно недавно, вам, вероятно, потребуется установить Xcode 4.2. Другая возможность заключается в том, что ваш компилятор настроен на GCC, который, насколько я знаю, не поддерживает эти новые изменения Objective-C.

Если это единственное место, где используются более новые расширения Objective-C, вы можете просто изменить его на

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain( ...
[pool release];
return retVal;
person Caffeine    schedule 18.12.2011
comment
Спасибо Кофеин! Это помогло. На самом деле я запускал Xcode версии 4.2 (сборка 4C199). ЭТО сэкономило мне столько времени! - person Kevin McFadden; 20.12.2011
comment
Спасибо за подробности о компиляторе GCC. Я оставил синтаксис @autoreleasepool и сменил компилятор с GCC LLVM 4.2 на Apple LLVM 4.1, что также решило проблему. - person kennbrodhagen; 22.10.2012