Это сводит меня с ума.
У меня есть библиотека A, которая в свою очередь включает библиотеку B. Вложенная пара библиотек используется в 5 различных проектах. Я хочу, чтобы источник для A и B был в одном месте и связал все 5 проектов с ними.
Что бы я ни делал, я получаю одну из двух ошибок:
1) Класс библиотеки B сталкивается сам с собой. Компоновщик видит указанный класс в библиотеке A, а также в библиотеке B.
2) Некоторые классы отсутствуют, поскольку компоновщик не может их найти.
Я должен упомянуть, что библиотека A включает категории. Я имею дело с ошибкой категории, имея фиктивный класс в каждом файле категории и используя флаг компоновщика ObjC во внешнем проекте.
Вот настройка, которую я пытаюсь использовать. Как описано ниже, я получаю дубликаты символов.
У меня есть каталоги Documents / LibraryA, Documents / LibraryA / LibraryB и Documents / Project1 через Documents / Project5.
В каталоге Documents / Project1 есть символическая ссылка LibraryA, которая указывает на ../LibraryA. То же самое относится и к проектам со 2 по 5.
Пути поиска заголовков в содержащем проекте: ./LibraryA ./LibraryA/Classes/** и ./LibraryA/LibraryB/**
Пути поиска в заголовке в LibraryA: ./LibraryB/**
Пути поиска в библиотеке всегда пусты.