Параметр xcode4 несовместимого типа
Проект, который отлично работает на Xcode3, не может скомпилировать Xcode4 с этой ошибкой:
Файл://localhost/users/Ishaq/Projects/game01/libs/cocos2d/CCLayer.m: Ошибка: Semantic Issue: Отправка 'ccColor4B' (aka 'struct _ccColor4B') к параметру несовместимого типа "CIColor *"
код, который вызывает эту ошибку, ниже (из cocos2d-iphone CCLayer.m
):
+ (id) layerWithColor:(ccColor4B)color
{
return [[[self alloc] initWithColor:color] autorelease];
}
Как-то Xcode думает, что этот код вызывает - (id)initWithColor:(CIColor *)color;
из CIImage
(внутри CIImage.h
). Как я могу настроить Xcode brain прямо?; -)
Ответы
Ответ 1
У меня такая же проблема. Мое решение состояло в том, чтобы явным образом использовать его надлежащим образом, что помогает компилятору найти подходящий класс. Таким образом, код выглядит следующим образом:
return [[(CCColorLayer*)[self alloc] initWithColor:color] autorelease];
Ответ 2
Вы можете изменить self
на фактическое имя класса CCLayer
, которое должно указывать Xcode в правильном направлении.
Ответ 3
То же самое произошло со мной при использовании компилятора LLVM GCC 4.2. Изменение параметра компилятора на "Apple LLVM Compiler 3.0" исправило его.