(Отправляя этот вопрос в справочных целях, я отвечу сразу)
Как добавить пути поиска заголовка в Xcode? Особенно при включении с этим синтаксисом:
include <myheader.h>
У нас есть два варианта.
Посмотрите «Настройки» -> «Расположение» -> «Деревья исходных текстов» в предпочтениях Xcode. Добавленный здесь путь будет системным путем, доступным для включения во все проекты.
Установите параметр HEADER_SEARCH_PATHS
в настройках сборки в информации о проекте. Я добавил сюда "$ {SRCROOT}"
без рекурсии. Этот параметр подходит для большинства проектов.
О 2-м варианте:
Xcode использует Clang с набором команд, совместимым с GCC.
У GCC есть опция -Idir
, которая добавляет пути поиска системного заголовка. И эта опция доступна через HEADER_SEARCH_PATHS
в настройках сборки проекта Xcode.
Однако строка пути, добавленная к этому параметру, не должна содержать никаких пробелов, потому что параметр будет передан команде оболочки как есть.
Но некоторые пользователи OS X (например, я) могут помещать свои проекты по пути, включая пробелы, которые следует экранировать . Вы можете избежать его, например, / Users / my / work / a \ project \ with \ space
, если вы введете его вручную. Вы также можете заключить их в кавычки, чтобы использовать переменную среды, например "$ {SRCROOT}"
.
Или просто используйте .
для обозначения текущего каталога. Я видел этот трюк в исходном коде Webkit, но я не уверен, что текущий каталог будет установлен как каталог проекта при его создании.
$ {SRCROOT}
- это предопределенное значение Xcode. Это означает исходный каталог. Дополнительные значения можно найти в Справочном документе .
PS. На самом деле скобки {}
использовать не обязательно. Я получаю тот же результат с $ SRCROOT
. Если вы знаете разницу, дайте мне знать.