2009-07-03 4 views
4

Я столкнулся с этой ошибкой при создании моего кода с лязгом:лязга давая ошибок жалующихся дефектного файла заголовка UILocalizedIndexedCollation.h

 
In file included from /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:31, 
       from /Users/waspfish/Documents/NanaimoStudio/Projects/iPhoneMonk/Projects/IdeaOrganizer/IdeaOrganizer_Prefix.pch:13, 
       from :1: 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h:13: error: syntax error before ‘AT_NAME’ token 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h:21: error: syntax error before ‘}’ token 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILocalizedIndexedCollation.h:23: fatal error: method definition not in @implementation context 
compilation terminated. 
{standard input}:32:FATAL:.abort detected. Assembly stopping. 

Я закончил тем, что исключить UILocalizedIndexedCollation.h из UIKit.h и все встроенное хорошо. Любая идея, что могло бы вызвать проблему? Я не могу представить, что Apple отправляет дефектный заголовочный файл.

ответ

7

Проблема возникает из SDK 3.0, который теперь использует gcc 4.2, но scan-build все еще использует/usr/bin/gcc. Поэтому вам нужно сказать scan-build, чтобы вместо этого использовать /usr/bin/gcc-4.2.

scan-build --use-cc=/usr/bin/gcc-4.2 xcodebuild -configuration Debug 

Et voila!

+0

Это фиксировало все для меня. Благодаря! – bbrown

+0

хорошая работа Это работает и для меня. – harshalb

+0

Это работает для меня! Благодарю. – Jirapong

0

Обычно, когда я вижу что-то вроде этого, я чищу сборку и перезапускаю Xcode, тогда все было в порядке. С GCC 4.2 иногда плохой pch мог бы скрыть икоты, как это, но clang использует totoally разную реализацию pch. Вы можете полностью удалить файл сборки, пока Xcode не запущен.

Технически clang не поддерживается для разработки iPhone, но я использую его для компиляции симулятора, и я не вижу ошибок компиляции, которые вы видите, поэтому (по крайней мере для меня) это работает. Одна вещь торчит в моей голове, вы ссылаетесь на редактирование своего UIKit.h. Я понимаю, что вы сделали это, но настройка заголовков системы - это большой вопрос-нет. Есть ли вероятность, что вы сделали это по другим причинам, потому что, если у вас нет заголовков акций, есть много причин, по которым это может произойти.

+0

Я удалил папку строитель и очистить все цели, и я все еще получаю ту же ошибку. Есть идеи? – Boon

2

инженер компании Apple подтвердили, что у них была ошибка в рамках UIKit:

У нас есть простой обходной путь для этого UIKit ошибка. В UILocalizedIndexedCollation.h изменить это:

UIKIT_EXTERN @interface UILocalizedIndexedCollation : NSObject 
to 
UIKIT_EXTERN_CLASS @interface UILocalizedIndexedCollation : NSObject 

Denis2342

 Смежные вопросы

  • Нет связанных вопросов^_^