XCode 4.2 и использование статической библиотеки, вызывающие проблемы - PullRequest
11 голосов
/ 15 марта 2012

Как и многие другие здесь, SO, у меня проблемы с использованием библиотек в моем рабочем пространстве XCode. Идея в том, что у меня есть мой основной проект (MyApp) и две библиотеки (lib1 и lib2), которые были добавлены в рабочую область после того, как код был завершен.

Для фона lib1 зависит от lib2, поскольку существуют некоторые протоколы, которые необходимо реализовать, чтобы использовать lib2. MyApp зависит от обоих. Я попытался следовать руководствам Apple, что подразумевает простоту. После этого я следил почти за каждым постом здесь на SO, который появлялся в моих поисках (2 дня поиска в Google), а также за множеством других блогов и постов, в которых утверждается, что есть решения, многие из которых относятся к XCode 3.

Пока что мой проект не строится. Я использую Xcode 4.2 на OS 10.6 (обновление до Lion не вариант). Существует ли простое руководство по созданию проекта библиотеки и использованию этой библиотеки в приложении.

Я наткнулся на этот ответ во время написания этого вопроса (где в вопросе была та же ошибка, что и у меня), который я рассмотрю, но я достиг точки копирования исходных файлов только для того, чтобы получить демоверсия рабочая.

UPDATE:

Вот список вопросов, которые возникли. Я добавлю больше, когда они возникнут:

  • **directory not found for option '-L/Users/myhomedir/iphoneprojects/MyApp/../BLProfile/build/Release-iphoneos'**

Ответы [ 2 ]

23 голосов
/ 15 марта 2012

Вот как создать статическую библиотеку и проект, который ее использует.

Шаг 1: Создать рабочую область: Файл> Создать> Рабочая область .Это не обязательно, но помогает организовать проекты.

Шаг 2: Создать проект статической библиотеки: Файл> Создать> Проект> Каркас и библиотека> Статическая библиотека Cocoa Touch .Давайте назовем это MyLib .

Шаг 3: Создание проекта приложения: Файл> Создать> Проект> Приложение> Пустое приложение или любое другоедругой шаблон приложения.Давайте назовем этот проект MyApp .Если вы поместили проекты в разные папки, возможно, вам придется использовать другой путь.

Теперь у вас есть следующие проекты в рабочей области.

Project structure

Шаг 4: Настройте приложение так, чтобы оно находило файлы .h библиотеки.Для этого добавьте родительскую папку "../" и установите флажок recursive .

Header Search Path

Шаг5: Свяжите приложение с библиотекой.

enter image description here

0 голосов
/ 04 июня 2014
  1. Откройте главный проект, в который вы хотите добавить статическую библиотеку.
  2. Сохранить как рабочее пространство.
  3. Добавьте пакет проекта библиотеки.Не нужно проверять копию при добавлении пакета проекта.
  4. Обновите расположение настроек Xcode на Custom-Relative to Workspace.Продукты как 'Build / Products' и промежуточные продукты как Build / Intermediates
  5. В вашем основном проекте -> target -> настройки сборки, Добавить заголовок и путь поиска библиотеки как $ (BUILD_PRODUCTS_DIR)
  6. Библиотека сборкиПроект.Таким образом, будет создана новая библиотека по указанному пути сборки.
  7. Удалите существующую библиотеку из фаз сборки и перейдите в корзину.Откройте Фазы сборки -> Связать двоичные файлы с библиотеками и добавьте вновь созданную библиотеку из каталога сборки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...