Xcode 5 — разные фреймворки все «импортируют» NSobject, вызывают дублирование определения

После обновления до Xcode 5 я не могу создавать свои приложения! Всегда есть ошибка Duplicate interface definition for class 'NSObject',

В настоящее время я работаю над C ++ версией Pacman, которая использует SDL (и mixer, tff и т. Д.) И OpenGL. Кажется, ошибка в том, что во многих фреймворках что-то становится imported вместо included, так что компилятор запутался. Странно то, что ни один код не изменился, приложение работало нормально в Xcode 4, но теперь, когда я обновил его, оно не может быть построено.

Я сделал снимок экрана, чтобы показать файлы с ошибками. Рис ошибки

Вот строка, которая выдает ошибку в каждом из этих файлов:

  • В первом файле: #include "SDLMain.h"
  • Во втором файле: #import <Cocoa/Cocoa.h>
  • В третьем файле: #import <Foundation/Foundation.h>
  • В четвертом файле: #import <Foundation/NSArray.h>
  • В пятом файле: #import <Foundation/NSObject.h>

Я смотрел на этот вопрос, и удалил мои пути поиска и повторно добавил только один необходимый, но ошибка все еще происходит.

Итак, что происходит, и что мне нужно сделать, чтобы это исправить? Я очень мало знаю о import, просто в большинстве случаев мы должны держаться подальше от него и использовать include вместо.

РЕДАКТИРОВАТЬ

Ну, после нескольких разочаровывающих недель, связанных с настройками, я нашел решение. (Или, по крайней мере, обходной путь.)

Попав на эту страницу,
Фото вкладки информации о проекте в XCode http://eclipsesource.com/blogs/wp-content/uploads/2012/06/ProjectInfo.png

Я изменил OS X deployment target до 10,7, а затем приложение работало. (Представьте, что это изображение было приложением OS X, а не iOS). Если бы у меня была целевая установка 10,8 или 10,9, приложение не работало бы. Но если он был 10,7 или ниже, никаких проблем.

Я счастлив, что могу возобновить работу над этим проектом, но мне все еще интересно … Почему это решило мою проблему?

1

Решение

Задача ещё не решена.

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

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

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