如何在Mac OS X上将unix程序及其依赖项编译为单个可执行文件?

时间:2011-11-26 09:14:58

标签: macos unix compilation terminal

从终端输入brew install pianobar以安装pianobar后,我可以完美地从终端运行它。

我转到/usr/local/Cellar/pianobar/2011.11.11/bin并将pianobar可执行文件复制到我的桌面。当我双击它时,它也有效。

然后我复制到我的另一台非开发Mac(没有安装Xcode)并尝试执行它,它说dyld: Library not loaded: /usr/local/lib/libao.4.dylib

我知道pianobar有这样的依赖:

depends_on 'libao'
depends_on 'mad'
depends_on 'faad2'
depends_on 'gnutls'

这些依赖项动态链接到我的第一台Mac上的可执行文件,因此如果未安装这些依赖项,则pianobar无法在另一台上运行。

我的问题是:如何将所有这些依赖项编译成一个可执行文件,以便我可以轻松地将它分发到另一台Mac?

1 个答案:

答案 0 :(得分:0)

有多种但可能过于复杂的方法,例如:

  • 创建一个MacOS X安装程序包(使用PackageMaker.app)并确保所有库也在其中
  • 手动构建所有内容并以ZIP格式分发

更容易就是在第二台Mac上安装自制软件并在那里安装pianobar。