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)