Вопрос по macos, frameworks, dylib – создание .dll на Mac: .dylib или рамки?

10

Мне нужно создать версию наших библиотек для одного из наших клиентов. Я не очень знаком с динамическими библиотеками на Mac, но насколько я понимаю, у меня есть 2 варианта: .dylib или frameworks. Какой будет лучший вариант? Зачем?

Несколько связанных вопросов:

If I understand correctly, .dylib have to be installed in one of the stnadard UNIX directories such as /usr/lib, etc. Hence using a .dylib should make my customer's installer much more complex, since they'll probably need to request permission to write something in a system folder? Can frameworks be private and embedded within my customer's bundle? So no one else can see/use them?

Любая конструктивная критика / комментарии / идеи более чем приветствуются. Заранее спасибо.

Alex

Вы ищете установку методом перетаскивания или предоставляете приложение-установщик (.pkg), которое обрабатывает все? Если это последнее, тогда разрешения не должны быть проблемой, так как почти каждый запускаемый мной установщик запрашивает пароль администратора (таким образом, получая права администратора) заранее. Matt Ball

Ваш Ответ

1   ответ
10

.dylib похож на.so в линуксе

Фреймворки - это просто OSX способ распределения библиотек и заголовков вместе. Они являются эквивалентом комплекта приложений для распространения библиотеки.

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

В противном случае не будет большой разницы между Frameworks и.dylib кроме предыдущего лучше для разработчиков OSX.

Любой из них может быть встроен в пакет приложений клиента,otool/install_name_tool справиться с ними обоими хорошо.

Привет! Как я могу встроить dylib в комплект приложений клиента? Я пытаюсь встроить библиотеки OpenCV в приложение Qt.
Ты можешь использовать.so на OS X тоже не можете? Я все равно видел это раньше.
@ mk12 Да. На самом деле, все модули Apache в OS-X.so

Похожие вопросы