Как использовать файл dylib в приложении?

Я создал динамическую библиотеку lib.dylib. Я хочу использовать эту библиотеку в своем приложении. Какие настройки сборки и настройки фазы сборки требуются? Шаги по использованию библиотеки в объекте-c.


person user3200854    schedule 28.01.2014    source источник


Ответы (1)


так что есть 2 способа ...

1) если Dyld доступен во время компоновки, то вы просто линкуете против него. (в Xcode вы добавляете его в фазу построения ссылки для создаваемой цели.)

при использовании фреймворка: заголовки попадут в путь поиска заголовков, чтобы вы могли #import <framework/header.h> их.

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

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

person Grady Player    schedule 29.01.2014
comment
Насколько я понимаю, objc_getClassClist возвращает все классы, которые есть в системе .. Но на самом деле я хочу добиться чего-то вроде этого: - я загрузил свою структуру, используя dlopen (), который возвращает дескриптор .. моя структура содержит два класса .. поэтому использую dlopen указатель heandle Я хочу только те классы, которые находятся в структуре ... так как это возможно ?? Пожалуйста, помогите мне ... и спасибо за ваше драгоценное время ... Не могли бы вы дать мне ваше ценное предложение ?? - person user3200854; 31.01.2014
comment
если вы управляете фреймворком, вы можете создать из них глобальный массив ... и инициализировать их вызовом + load в каком-то классе, а затем получить к ним доступ через функцию dlloaded или внешний указатель ... - person Grady Player; 31.01.2014