Erstellen einer DLL auf einem Mac: .dylib oder Framework?

8

Ich muss eine Mac-Version unserer Bibliotheken für einen unserer Kunden erstellen. Ich bin nicht so vertraut mit dynamischen Bibliotheken auf dem Mac, aber von dem, was ich verstehe, habe ich 2 Optionen: .dylib oder Frameworks. Was wäre die beste Option? Warum?

Wenige verwandte Fragen:

  • Wenn ich richtig verstanden habe, muss .dylib in einem der stnadard-UNIX-Verzeichnisse wie / usr / lib usw. installiert sein. Daher sollte die Verwendung eines .dylib-Programms den Installer meines Kunden sehr viel komplexer machen , da sie wahrscheinlich um Erlaubnis bitten müssen, etwas in einen Systemordner zu schreiben?
  • Können Frameworks privat und in das Paket meines Kunden eingebettet werden? Also kann niemand sie sehen / benutzen?

Jede konstruktive Kritik / Kommentare / Ideen mehr als willkommen. Vielen Dank im Voraus.

Alex

    
vectorizor 31.07.2009, 13:13
quelle

1 Antwort

8

.dylib ist ähnlich wie .so unter Linux.

Frameworks sind im Grunde nur die OSX-Methode zum Verteilen von Bibliotheken und Headern. Sie sind das Application Bundle-Äquivalent für die Bibliotheksverteilung.

Wenn Sie mit beiden Methoden sicherstellen wollen, dass andere Benutzer sie nicht verwenden, sollten Sie statische Bibliotheken ( .a files) verwenden und Ihren Kunden dazu bringen, sie statisch mit ihrer Anwendung zu verknüpfen.

Ansonsten gibt es keinen großen Unterschied zwischen Frameworks und .dylib , außer dass der Prior für OSX-Entwickler netter ist.

Beide können in ein Kunden-Anwendungs-Bundle eingebettet werden, otool/install_name_tool kann beides gut behandeln.

    
Mike McQuaid 31.07.2009 14:16
quelle

Tags und Links