在mac上创建.dll:.dylib或框架?

时间:2009-07-31 13:13:59

标签: macos frameworks dylib

我需要为我们的客户创建一个Mac版本的库。我不太熟悉Mac上的动态库,但据我所知,我有两个选项:.dylib或框架。什么是最好的选择?为什么呢?

很少有相关问题:

  • 如果我理解正确,.dylib 安装在stnadard UNIX目录之一,例如/ usr / lib等。因此使用.dylib会使我的客户的安装程序更加复杂,因为他们可能需要请求在系统文件夹中写入内容的权限?
  • 框架可以是私有的并嵌入我的客户包中吗?那么没有其他人可以看到/使用它们吗?

任何建设性的批评/意见/想法都不过是受欢迎的。提前谢谢。

亚历

1 个答案:

答案 0 :(得分:11)

.dylib类似于Linux上的.so

框架基本上只是将库和标题分布在一起的OSX方式。它们是库分发的等效应用程序包。

如果您想确保其他人不使用这两种方法,您应该使用静态库.a文件)并让您的客户将其静态链接到他们的应用程序中

否则,Frameworks和.dylib之间没有太大区别,除了先前对OSX开发人员更好。

可以嵌入到客户应用程序包中,otool/install_name_tool处理它们都很好。