2016-02-08 2 views
0

Я создаю фреймворк, который встраивает некоторые библиотеки C. Код библиотеки C подвергается воздействию Swift с использованием файла .modulemap. В Build Settings цели в разделе Swift Compiler - Search Paths я установил путь к файлу .modulemap в строке Import Paths. Также в разделе Search Paths указаны пути для библиотек и заголовков, в Library Search Paths и Header Search Paths строк соответственно. После добавления фреймворка к проекту приложения и попытке создания приложения он с ошибкой pjsip.h file not found.Файл заголовка не найден в Xcode 7

  • Значения Header Search Paths:

enter image description here

  • Структура заголовков Папки

enter image description here

Процесс импорта начинается с выделенной синий файл pjsua.h, который затем импортирует другие заголовки, отмеченные красными прямоугольниками.

  • Полный список импортируемых заголовков в pjsua.h

enter image description here

Вы можете видеть, что импортированные заголовки не живут в той же папке, pjsua.h как и должно быть для успешного импорта, но не это задание Header Search Paths, чтобы найти заголовки? Я не хочу испортить структуру папок заголовков, потому что это третья сторона lib, и каждый раз она будет обновляться каждый раз, когда это «волшебство» должно быть сделано. Путь включения определяется в строке Other C Flags, которая аналогична настройкам Header Search Paths. Я не уверен, что я пропустил.

Примечание:

  1. Заголовки путей прав.
  2. Они не содержат пробелов.

P.S This не помогает.

Update:

Эта ошибка показала только при создании для симулятора, здания для реального устройства Xcode не удается с несколькими ошибками Redefinition of ...

ответ

0

Решение является простым, но некрасиво. Установите Header Search Paths и Search Paths для основного проекта. Это определенно не лучший способ добавить фреймворк к проекту, потому что он раскрывает детали о структуре, но это единственный способ исправить проблему.

Смежные вопросы