XCode 4.2 и использование статической библиотеки, вызывающей проблемы
Как и многие другие здесь, у меня возникают проблемы с использованием библиотек в рабочей области XCode. Идея заключается в том, что у меня есть мой основной проект (MyApp
) и две библиотеки (lib1
и lib2
), которые были добавлены в рабочую область после завершения кода.
Для фона lib1
зависит от lib2, так как есть некоторые протоколы, которые необходимо реализовать, чтобы использовать lib2
. MyApp
зависит от обоих. Я пробовал следовать руководству Apple, что подразумевает, что я хотел бы просто. После этого я следил почти за каждым сообщением здесь, на SO, которое появилось в моих поисках (2 дня стоит Googling), а также много других блогов и сообщений, которые утверждают, что имеют решения, многие из которых являются специфичными для XCode 3.
Тем не менее, мой проект не строится. Я использую Xcode 4.2 на OS 10.6 (обновление до Lion не является вариантом). Есть ли простой учебник, чтобы следить за тем, как создать проект библиотеки, и использовать эту библиотеку в приложении.
Я наткнулся на этот ответ при написании этого вопроса (где у вопроса была та же ошибка, что и у меня), который я рассмотрю, но я достиг точки копировать исходные файлы только для того, чтобы получить демонстрационную работу.
UPDATE:
Вот список проблем, которые возникли. Я добавлю больше, когда они возникнут:
-
**directory not found for option '-L/Users/myhomedir/iphoneprojects/MyApp/../BLProfile/build/Release-iphoneos'**
Ответы
Ответ 1
Вот как создать статическую библиотеку и проект, который ее использует.
Шаг 1: Создайте рабочее пространство: Файл > Создать > Рабочее пространство. Это не обязательно, но помогает организовать проекты.
Шаг 2: Создайте проект статической библиотеки: Файл > Создать > Проект > Структура и библиотекa > Cocoa Нажмите Статическую библиотеку. Давайте назовем его MyLib.
Шаг 3: Создайте проект приложения: Файл > Создать > Проект > Приложение > Пустое приложение или любой другой шаблон приложения. Позволяет называть этот проект MyApp. Если вы разместили проекты в разных папках, вам может потребоваться использовать другой путь.
Теперь у вас есть следующие проекты в рабочей области.
![Project structure]()
Шаг 4: Настройте приложение так, чтобы оно находило файлы .h
библиотеки. Для этого добавьте родительскую папку "../" и установите флажок рекурсивный.
![Header Search Path]()
Шаг 5: Свяжите приложение с библиотекой.
![enter image description here]()
Ответ 2
- Откройте главный проект, где вы хотите добавить статическую библиотеку.
- Сохранить как рабочее пространство.
- Добавить пакет проекта библиотеки. Нет необходимости проверять копию при добавлении пакета проекта.
- Обновить настройки предпочтений Xcode в пользовательском отношении к рабочей области. Продукты как "сборка/продукция" и промежуточные продукты в виде сборки/промежуточных продуктов.
- В настройках основного проекта → target → build, Add Header и Library Search Path в качестве $(BUILD_PRODUCTS_DIR)
- Проект библиотеки сборки. Таким образом, новая библиотека будет создана в указанном пути сборки.
- Удалите существующую библиотеку из фаз сборки и перейдите в корзину. Open Build Phases → Link Binary С библиотеками и добавьте новую созданную библиотеку из каталога сборки.