Две цели, два файла заголовка с тем же именем, как использовать каждый заголовок для правильной цели?

Хорошо, вот что я пробовал.

У меня есть файлы заголовков в двух отдельных каталогах IRL. Они называются одинаковыми, но находятся в двух разных местах.

Я хочу включить только соответствующий заголовочный файл для каждой цели. Допустим, для упрощения объяснения, что заголовочный файл называется "Config.h".

Итак, у меня есть:

${PRODUCT_DIR}/Header1/Config.h

и

${PRODUCT_DIR}/Header2/Config.h

Эти файлы отображаются в LHS Xcode также в двух разных группах (Header1 и Header2, которые указывают на папки IRL).

Итак, теперь все, что мне нужно сделать, - это сделать Xcode выбрать правильный из правой папки для каждой цели.

Target1

и

Target2

Я попытался добавить путь к User Header Search Paths для каждой цели, но по-прежнему выбирал неправильный. Я также пытался переключить "Всегда искать пути пользователя", который также не имеет эффекта.

Итак, мой вопрос: это потому, что они находятся в каталоге Project? Или это потому, что они находятся в Xcode в файловом менеджере LHS, поэтому Xcode копирует их в папку сборки?

Странная вещь - это выбор файлов заголовков из папки с фамилией в алфавитном порядке...

В предыдущих версиях Xcode я уверен, что вы можете выбрать, какие заголовки нужно скопировать в папку сборки.

В любом случае.. кто-нибудь знает, как я могу это исправить, чтобы я мог выбрать подходящий заголовочный файл для цели?

Большое спасибо.

Ответ 1

Проблема, которая у меня была, была в 2 раза:

  • Вам нужно удалить файлы заголовков из проекта. Если они находятся в Xcode, в диспетчере файлов, они автоматически будут включены в проект.

  • Вам необходимо использовать относительные пути к вашим папкам в "Пути поиска заголовков пользователей". Я использовал ${PROJECT_DIR}/path/to/header/folder, который дал правильный путь, но, похоже, не работал должным образом. Изменение записи на ./path/to/header/folder вместо этого работало нормально.

Ответ 2

У меня 4 цели в 1 proyect и более 40 заголовков, лучшее решение в XCode 8 Я считаю, что лучшим решением является изменение следующего тега:

Always Search user Paths

Да, все было хорошо для меня: введите описание изображения здесь