2009-09-02 4 views
6

Я создал статическую библиотеку в XCode, которая требует нескольких динамических библиотек (например, libsqlite3.0.dylib). Я могу создать приложение, которое зависит от моей статической библиотеки, используя ссылки на кросс-проекты в XCode, но мне кажется, что мне нужно вручную добавить все необходимые динамические библиотеки в каждый из моих проектов приложений, чтобы связать их.Может ли статическая библиотека XCode связываться с динамической библиотекой?

Есть ли способ настроить проект статической библиотеки в XCode, чтобы зависимые приложения автоматически связывались с любыми динамическими библиотеками, которые ему нужны?

Я попытался добавить динамические библиотеки в список Framework в моем проекте статической библиотеки, но это, казалось, не имело никакого эффекта.

ответ

2

Да - вам нужно будет добавить библиотеки в приложения. Статическая библиотека - .a - это просто архив файлов .o с минимальным количеством внутреннего разрешения. Полное разрешение символа не происходит, пока вы не свяжете его с приложением (или каркасом).

(Вы используете sqlite3 непосредственно? Если да, то почему бы не использовать Core Data? Есть причины, но не так часто, как люди вещь ...)

+0

Спасибо. Я знаю, что файл .a не содержит никакой информации о том, какие динамические библиотеки он требует, но я надеялся, что в .xcodeproj может быть что-то, что может передать эту информацию в зависимый файл .xcodeproj, который ссылается на нее. Это кажется теоретически возможным, но, возможно, это просто принятие желаемого за действительное. Я использую sqlite3, потому что некоторые из моих приложений должны работать на OS 2.2.1. – cduhn

+0

(CD: Имеет смысл, хотя мне интересно, сколько из оставшихся 2.2.1 пользователей являются активными покупателями приложений). Ничего из того, что я знаю в Xcode, для этого. Возможно, вы сможете использовать файл xcconfig - файл конфигурации сборки, а затем поделиться им между проектами. Документация может помочь. – bbum

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