XCode 4 Автозаполнение с библиотекой C ++? - PullRequest
4 голосов
/ 06 августа 2011

Я использую шаблон Cocos2D Box2D для своего проекта.

Когда я набираю "b2 **", автозаполнение не показывает никаких классов Box2D.(нажатие ESC также не показывает ничего) Я включил Box2D.h и Cocos2d.h в файл "Prefix.pch".

Есть ли какая-либо функция, например, "перестроить индекс" в "Eclipse CDT"?

Какие-нибудь советы?

Ответы [ 5 ]

8 голосов
/ 08 августа 2011

Вы можете заставить XCode перестроить индекс, удалив папку service ( DerivedData для Xcode 4.x):

  1. Закрыть Xcode
  2. Удалить service folder
  3. Откройте ваш проект, и Xcode перестроит индекс снова

В моем случае это всегда работает, и я могу вызвать b2 ... autosuggest.

Папка DerivedData находится в ~ / Library / Developer / Xcode / DerivedData

2 голосов
/ 13 августа 2011

Если вы используете XCode 4, вы можете перестроить индекс довольно просто:

  1. Открыть органайзер (Command + Shift + 2)
  2. Нажмите «Проекты» в верхнем разделе
  3. Выберите проект, для которого вы хотите перестроить индекс, в левой боковой панели
  4. Нажмите «Удалить» рядом с «Производные данные» в центральной части Организатора.

Это проще, чем обходить каталоги и вручную удалять серию папок.

2 голосов
/ 08 августа 2011

Это может быть очевидным предложением, но пытались ли вы напечатать класс, который, как вы знаете, существует, с тем, что вы включили, и посмотреть, распознает ли он его (с помощью раскрашивания и / или быстрой помощи)?Кроме того, есть ли у вас необходимые рамки и т. Д.?Что касается перезагрузки, единственное, что вы можете сделать в XCode, о котором я знаю, это очистить (shift + cmd + k) и пересобрать.Вы получаете какие-либо предупреждения, ошибки и т. Д.?Другая потенциально очевидная проблема - установлен ли XCode в качестве языка с ++?В любом случае, надеюсь, вы еще не пробовали все это, и это поможет вам куда-то добраться.

1 голос
/ 18 сентября 2011

Объединив все вышеперечисленные сообщения вместе, я решил свою проблему следующим образом:

1) Убедитесь, что все файлы находятся в 1 папке.Это может показаться очевидным, но мои файлы Box2D находились не в той же папке, что и мой другой код.При создании нового проекта с помощью XCode создается папка с именем вашего проекта, затем еще одна папка в этой папке, которая снова имеет имя проекта.Пример: "{путь проекта} / TempProject / TempProject".У меня были файлы Box2D в первом каталоге TempProject, а не в остальной части моего кода, созданного в подкаталоге TempProject.

2) Откройте настройки вашего проекта, дважды щелкнув ваш проект в XCode * 1005.*

3) Прокрутите вниз до «Пути поиска»

4) Измените значение «Пути поиска заголовка» на: $ {SOURCE_ROOT} / $ {PROJECT_NAME} / ** (Примечание. Если ваш XcodeНЕ создает подкаталог, как мой делает «TempProject / TempProject», затем просто используйте $ {SOURCE_ROOT} / **)

5) Удалите Производные данные вашего проекта, выполнив 1 из 2 следующих способов:

a) Открыть органайзер -> Выбрать проекты -> Выбрать проект -> Выбрать Удалить рядом с производными данными проекта

b) Открыть Finder -> Выбрать Go на панели инструментов -> введите "~ / Библиотека/ Developer / XCode / DerivedData "-> Найти и удалить папку нужного проекта

6) Перезапустить Xcode

7) Очистить и перестроить код

8) Теперь смысл кода должен работать!

1 голос
/ 14 августа 2011

На этой странице перечислены шаги, которые другой пользователь прошел, чтобы получить завершение кода, работающее для Xcode 4 и Box2D - эти шаги включают в себя удаление папки с производными данными, а также изменение путей поиска в заголовке пользователя, убедившись, что были нет пробелов на пути к проекту и прочее. Некоторые из этих шагов могут быть случайными или не связанными, но, очевидно, они исправили проблему для двух человек на этом форуме.

...