Как включить статическую библиотеку и сделать так, чтобы ее пути #import оставались действительными? - PullRequest
1 голос
/ 02 ноября 2010

Скажем, у меня есть статическая библиотека, которая была создана со следующей структурой файла:

  • Folder1
    • File1.h
  • Folder2
    • File2.h

Теперь внутри File1.h это относится к File2.h без пути (например, #import File2.h). Библиотека строится успешно. (Для него не требуется полный путь (т. Е. #import Folder2/File2.h), поскольку оба файла являются частью одного проекта.)

Теперь, когда я включаю эту библиотеку в другой проект, этот оператор #import File2.h больше не компилируется, и я должен изменить его на #import Folder2/File2.h (или что-то подобное). Это означает, что мне нужно изменить исходную библиотеку, что не очень хорошо.

Я получаю конкретное сообщение об ошибке:

File2.h: нет такого файла или каталога

Кажется, нет способа сообщить ему, что оба файла должны быть частью этого нового проекта, поскольку после включения библиотеки я вижу только два файла: MyLib.xcodeproj и lixMyLib.a.

Я включил статическую библиотеку в свой новый проект следующим образом:

  1. Перетащите MyLib.xcodeproj в мой новый проект.
  2. Добавьте файл libMyLib.a к цели моего нового проекта.
  3. Добавьте в пути поиска заголовка относительный путь к домашнему каталогу моей библиотеки (в папке, содержащей Folder1 и Folder2).

Можно ли как-нибудь автоматически узнать, где найти эти файлы, так же, как это можно было сделать в самой библиотеке? Я понимаю, что, возможно, я могу добавить пути Folder1 и Folder2 к путям поиска по заголовку моего нового проекта, но я ищу более лучший путь, так как эти две папки являются лишь примером, и это может так же, как легко будет 50 папок, которые мне нужно будет включить. Я ищу решение, которое не требует ввода путей ко всем 50 из этих папок, если это возможно.

1 Ответ

1 голос
/ 02 ноября 2010

Попробуйте установить флажок «Рекурсивно» рядом с путем к родительской папке всех этих заголовков.

...