12

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

几个相关的问题:

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

任何建设性的批评/评论/想法都非常受欢迎。提前致谢。

亚历克斯

4

1 回答 1

11

.dylib类似于.so在 Linux 上。

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

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

否则框架之间并没有太大的区别,.dylib除了先验对于 OSX 开发人员来说更好。

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

于 2009-07-31T14:16:31.277 回答