Ответ 1
Выяснил это.
Все, что вам нужно сделать, это добавить флаг -I в настройку сборки в разделе "Другие флаги C"
Итак, в настройке вашей целевой сборки найдите "Other C Flags" и добавьте -I/path-to-include/
Вот скриншот:
Я пытаюсь использовать библиотеку C в проекте Objective-C Xcode.
Структура каталогов библиотек выглядит следующим образом:
-- include/
|-- config.h
|-- lib/
| |-- file1.h
| |-- file2.h
| |-- file3.h
Библиотека docs говорит, что включает file1.h, а file1.h включает file2.h и file3.h.
Я получаю ошибки "file not found" для включений file2.h и file3.h`. Они включаются file1.h следующим образом:
#include <lib/file1.h>
#include <lib/file2.h>
Я читаю здесь, что эти угловые скобки инструктируют препроцессор для поиска включенных файлов по пути, указанному переменной среды INCLUDE, в противоположность для поиска в том же каталоге, что и файл, содержащий #include.
Итак, я добавил переменную среды INCLUDE в Xcode, перейдя в Product- > Edit Scheme.. и установив ее в /the-whole-path-to/include/
, однако я все еще получаю файл, который не найден ошибками.
Файлы успешно включены, если я изменяю file1.h, чтобы включить их следующим образом:
#include "file2.h"
но я бы предпочел не делать этого для каждого файла в библиотеке.
Как я могу это исправить?
Выяснил это.
Все, что вам нужно сделать, это добавить флаг -I в настройку сборки в разделе "Другие флаги C"
Итак, в настройке вашей целевой сборки найдите "Other C Flags" и добавьте -I/path-to-include/
Вот скриншот:
В версии 5.0.2 XCode лучший способ выполнить это, вероятно, добавить его в целевую панель "Пути поиска". Найти это было (для меня) невероятно неинтуитивным. Вот как я добрался до него, для тех, кто был смущен, как я:
В левом столбце щелкните значок "Навигатор проекта" (выглядит как папка). Затем нажмите на запись проекта. Это должно показать кучу настроек в главной панели. В верхней части этой панели нажмите "Настройки сборки". Это показывает кучу записей... в том числе один из них "Пути поиска"... но вы не можете добавить путь поиска здесь! Это заставило меня сцепить зубы за довольно пока я не понял, что имя проекта в верхней части этой панели было выпадающим, выберите цель из этого выпадающего списка, и теперь вы можете дважды щелкнуть "Пути поиска заголовков" и выполнить необходимое редактирование.
О, радость сумасшедших графических интерфейсов.
Я решил это в Xcode 5.0.1, используя настройки проекта Build (как отмечал Джон и Ян, но я не могу комментировать из-за 50 реп).
Новая информация:
При добавлении к путям поиска заголовков пользователей мне также необходимо изменить путь поиска всегда к пользователям.
При добавлении в пути поиска (не для пользователя), всегда ищут пользовательские пути.
Хотя это работает, вероятно, лучше разместить его под вкладкой "Пути поиска".
Попробуйте следующее:
1 - выберите файл проекта в левой панели Xcode
2 - убедитесь, что ваш проект выбран в средней области Xcode
3 - выберите "Настройки сборки" в верхней части средней панели Xcode
4 - убедитесь, что "Все" и "Комбинированные" выбраны только под "Настройки сборки"
5 - заголовок типа в поле поиска чуть ниже "Настройки сборки"
Вы должны увидеть поля пути поиска, готовые для редактирования в средней панели.
Либо вы можете использовать "Другие флаги C", либо использовать "HEADER_SEARCH_PATHS", чтобы указать включенные пути, чтобы искать заголовок для вашего исполняемого файла.