Mac OS X框架是否合适?

时间:2011-07-05 13:56:04

标签: macos gcc frameworks

我们的项目是一些跨编程语言的开源实现。除了用该语言执行程序的命令行可执行文件外,它还提供了一个C ++ API和库,用户可以使用它来添加自己的模块。

我正在尝试为Mac OS X提供我们的东西作为框架(通过.pkg文件)是否值得(或者甚至是有意义的)。如果我们什么都不做,那么还有make install目标可以将所有内容放入/usr/local/include/usr/local/lib等。

我们的实现需要一些第三方库,例如Xerces和ICU。可以/应该将这些库的预构建版本视为“资源”并捆绑在框架中吗?这是分发第三方库的合法方式吗?

1 个答案:

答案 0 :(得分:2)

我喜欢框架,他们保持整洁。一个框架可以更容易地使用Xcode库,但它也可以方便地使用命令行(-framework MyCoolLang)。然后,人们可以#include并使用您的标题,而无需设置单独的搜索路径。

这意味着您应该将标题放在/usr/local/include/MyCoolLang/{foo,bar}.h的其他平台上,以便人们可以使用相同的相对包含路径。无论如何你应该这样做,因为它更整洁。

如果必须支持包含没有子目录的路径,例如#include,和/或如果要从命令行编译时支持传统的编译器选项(如-lMyCoolLang)(作为-framework的替代),则可以符号链接头文件和/或库到/ usr / local / lib和include。这仍然比在那里转储实际文件更好,因为有人可以通过符号链接路径ls -l / usr / include并确切地告诉哪些头部属于你的框架。