& quot; Проблема разбора: неизвестное имя типа & quot; ошибка после обновления XCode

После того, как я обновил свою Mac OS X до Mountain Lion (начиная с Snow Leopard) и до XCode 5 (начиная с XCode 3.2), я больше не могу создавать проект C ++, который я использовал для успешной сборки в XCode. Я получаю кучу ошибок, теперь все говорят: «Проблема разбора: неизвестное имя типа *» для разных объектов. Я попробовал старую версию XCode (4.6) и установил SDK на Mac OS X 10.7. Эта проблема была решена, но не использование последней версии XCode вызвало другие проблемы.

Чтобы быть точным, ошибки (по крайней мере, первые), похоже, связаны с графической библиотекой Carbon. Я не знаю, имеет ли это значение. Я знаю, что Carbon каким-то образом устарел, но официальный выпуск приложения, которое я расширяю, работает на Mac OS 10.8, поэтому я удивляюсь, почему я не могу собрать код на 10.8.

Что может быть причиной этой ошибки? Код большой и не написан мной, поэтому менять его нельзя. Мне действительно нужно собрать его на XCode 5, иначе я должен понизить версию своей ОС!

0

Решение

Некоторые вещи, которые долгое время считались устаревшими в Carbon, были окончательно удалены в Mac OS X 10.7 SDK.

Вам понадобится Mac OS X 10.6 SDK для сборки вашего проекта. Apple автоматически прекратила включение старых SDK с новыми версиями Xcode, но вы можете загрузить более старые версии Xcode (с сайта разработчика Apple), и одна из них … возможно, Xcode 4.3 или около того … будет иметь 10,6 SDK.

Чтобы использовать более старый SDK с более новым Xcode, вы должны установить его вручную. Правильное местоположение:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/

Также обратите внимание, что любое обновление до XCode (например, обновление, загруженное из App Store) приведет к стиранию установленных вручную SDK. Я рекомендую архивировать те, которые вам нужны, где-то еще, чтобы вы могли заменить их по мере необходимости.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]