Добавление пути поиска заголовка системы в Xcode
(публикуя этот вопрос для справочной цели, я отвечу сразу)
Как добавить пути поиска заголовка в Xcode?
Особенно при включении с таким синтаксисом:
include <myheader.h>
- добавление пути глобально для всех проектов, таких как системные заголовки.
- добавление пути только к определенному проекту.
4 ответов:
у нас есть два варианта.
посмотрите на Настройки - > местоположения - >"исходные деревья" в предпочтении Xcode. Путь, добавленный здесь, будет системным путем и доступен для включения во все проекты.
Set
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, но я не уверен, что текущий каталог будет установлен в каталог проекта при его создании.The
${SRCROOT}- это предопределенное значение с помощью Xcode. Это означает исходный каталог. Вы можете найти больше значений в ссылка документ.PS. На самом деле вы не должны использовать скобки
{}. Я получаю тот же результат с$SRCROOT. Если вы знаете разницу, пожалуйста, дайте мне знать.
выполните ответ Eonil, связанный с настройками уровня проекта. Если выбрана цель и выбрана вкладка параметры сборки, в разделе пути поиска для путей поиска заголовка может отсутствовать список. В этом случае вы можете изменить "все" с "Basic" в строке поиска и пути поиска заголовка будут отображаться в разделе пути поиска.
использовать кавычки только для полноты картины.
"/Users/my/work/a project with space"/**Если не рекурсивный, удалить
/**
хотя этот вопрос имеет ответ, я решил его по-другому, когда у меня была та же проблема. У меня была эта проблема, когда я копировал папки с опцией
Create Folder references; затем вышеприведенное решение добавления папки в build_path сработало. Но когда папка была добавлена с помощьюCreate groups for any added folderопция, заголовки были подобраны автоматически.
Comments