2009-04-20 2 views
2

Мотивация по этому вопросу заключается в том, что я пытаюсь заставить функции LDAP работать с приложением iPhone, которое является проектом, который я пытаюсь выполнить для части моей диссертации.Добавление статической библиотеки в проект iPhone

Когда я разрабатывал приложение, я использовал фреймворк ldap.framework, который является частью Mac OS X. Это отлично работает в симуляторе, но когда я пытаюсь теперь получить приложение на устройстве, он говорит мне, m не разрешено использовать эту структуру.

После некоторого исследования я обнаружил, что могу построить openldap с использованием архитектуры рукоятки и добавить статическую библиотеку в свое приложение, предназначенное для моего устройства.

я в конечном итоге удалось собрать конфигурации и сборки OpenLDAP, установив переменные, как указано here и используя следующие команды ...

Ade$ ./configure CC=$DEVROOT/usr/bin/arm-apple-darwin9-gcc-4.0.1 \ 
LD=$DEVROOT/usr/bin/ld --host=arm-apple-darwin --with-yielding_select=yes 
Ade$ make depend 
Ade$ make 

мне сказали, что файл я ищу будет иметь расширение «.a», так что я искал файл «.a», который упоминает ... LDAP

Ade$ sudo find/-name *ldap*.a 
Password: 
/Users/Ade/Desktop/openldap-2.4.16/libraries/libldap/.libs/libldap.a 
/Users/Ade/Desktop/openldap-2.4.16/libraries/libldap_r/.libs/libldap_r.a 

так я предполагаю, что эти файлы мне нужно?

Мой вопрос: что мне делать дальше? Я знаю, что мне нужно добавить библиотеку в проект Xcode и, возможно, добавить нагрузку на файлы .h?

Если кто-нибудь может дать мне указатель на документацию или пролить свет на следующий этап, я был бы очень благодарен.

Большое спасибо, Ade

пс. Я также рассказал об этом процессе в своем блоге по адресу www.greenpasta.com.

ответ

1

Просто перетащите файлы .a в проект Xcode и выберите «скопировать файлы в проект». Я не знаком с OpenLDAP, но я думаю, что версия _r - это просто потоковая версия. Я бы рекомендовал использовать это, а не копировать другое. Вероятно, вы не должны копировать оба файла в Xcode или вы получите ошибки ссылок.

Затем сделайте то же самое для файлов .h, которые определяют клиентские API OpenLDAP - снова я не уверен, что это такое, но я уверен, что вы можете легко это узнать.

Я бы посоветовал организовать файлы .a и .h вместе в группе Xcode под ресурсами.

Включите файлы заголовков в свой источник, и вам должно быть хорошо идти.

+0

Привет, Я попробовал этот метод, но не получил ближе ... Там другое обсуждение происходит на Apple, доски обсуждений ... –

0

Возможно, вам также потребуется добавить -lldap в команду компоновщика (в панели настроек сборки).

2

Я сделал то же самое для создания LDAP-клиента для iPhoneOS 2.2. Вы просто перетащите .a в стадию сборки «link with libraries». Я рекомендую использовать обычную (не _r) версию библиотеки, если вам не требуется повторная установка на свой материал ldap (который я не рекомендую). Вы также можете добавить .h в свой проект, который, как правило, самый простой способ доступа к ним.

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