Xcode пытается найти заголовочные файлы (.h) с помощью списка «путей поиска».В этом списке может быть несколько путей поиска, например, если в программе #import <a.h>
и в списке путей поиска есть пути «/ asd» и «/ qwe», он попытается найти заголовок как «/ asd / ah "или" / qwe / ah "(он пытается оба).
Вы можете добавить собственные пути в настройках сборки проекта Xcode.Там есть раздел «Пути поиска», и там у вас есть «Пути поиска заголовка».Если ваша библиотека находится внутри вашего проекта, тогда полезно использовать в пути переменную $(SRCPATH)
, которая расширяется до корневой папки вашего проекта, например:
![enter image description here](https://i.stack.imgur.com/LGuYu.png)
Обратите внимание, что если вы импортируете как <somelib/somefile.h>
, и ваш путь в «Пути поиска по заголовку» имеет что-то, заканчивающееся на «include», например «/ some_path / include», тогда заголовок должен быть в «/ some_path / include /».somelib / somefile.h ", что иногда неверно, потому что часто люди помещают заголовочные файлы прямо в" include / ", а не внутри" include / somelib /".
Один из способов решить эту проблему - сделатьсимволическая ссылка, указывающая на папку «include» библиотеки с вашим пользовательским именем, а затем добавьте родительский каталог этой символической ссылки в пути к заголовкам.
Например, если вы создаете пустой каталог «libs / include»/, и вы поместили файлы своей библиотеки в "libs / dist / libARDiscovery /.../ include", затем вы можете создать символическую ссылку "libs / include / libARDiscovery", которая указывает на "lib / dist / libARDiscovery / .../include ", а затем добавить«$ (SRCROOT) / libs / include» для путей поиска заголовка.