Xcode 4.5.1. Не найден путь поиска заголовка, <каталог/файл .h> файл не найден

Я добавил каталог include в свой домашний каталог. Я могу запустить "ls -l ~/include" из каталога сборки. Я добавил этот каталог как в "Путь доступа к заголовку", так и в "Путь поиска заголовка пользователя". В обоих местах я пробовал как нерекурсивный, так и рекурсивный. Но xcode 4.5.1 не может в любой ситуации найти первый указанный заголовочный файл.

В исходных кодах указано .m как:

 #include <directory/file.h>

Я получаю файл "Lexic или Preprocessor issue" directory/file.h 'не найден. "

Но при запуске xcodebuild из cli у него нет проблем, что бы никогда не создать источник.

Я пробовал много предложений, найденных в Интернете

  • Включение включения в /usr/om мой диск
  • Добавление индекса в проект, добавление файлов без копии и отсутствие отметки "Добавить в цель".
  • Перезагрузите xcode.
  • Указание всех конкретных путей.

Но до сих пор нет.

В чем проблема. Ошибка в xcode?

Ответ 1

У меня была аналогичная проблема, и это было потому, что в пути, который я определил для пути поиска заголовка, были пробелы. Например, я определял следующее как путь поиска:

$(SRCROOT)/Frameworks/Headers

который расширялся до следующего:

/Users/skoota/Documents/Xcode Projects/My App/Frameworks/Headers

как вы можете видеть, в пути есть пробелы (которые не сразу очевидны, поскольку вы используете переменную $(SRCROOT)), и компилятор не особенно ценит пробелы. Я решил эту проблему, изменив путь поиска к этому:

"$(SRCROOT)"/Frameworks/Headers

(обратите внимание на кавычки вокруг $(SRCROOT), которые избегают пробелов). Теперь это расширилось до:

"/Users/skoota/Documents/Xcode Projects/My App"/Frameworks/Headers

который отлично работает, хотя выглядит немного странно со встроенными метками ". Мне потребовалось некоторое время, чтобы понять, так что, надеюсь, это поможет!

Ответ 2

Это обычно происходит, если в вашем пути к каталогу есть пробелы. Чтобы преодолеть эту проблему, используйте двойные кавычки вокруг пути.

Предположим, что вы хотите использовать каталог проекта, тогда вы должны использовать: $PROJECT_DIR. Включите рекурсивный, если вы хотите выполнить поиск в папках. Кроме того, вы можете использовать $(SRCROOT)