2011-10-14 44 views
2

我需要在Mac OS X上构建一个库(Ipopt),并使用它从两个不同的程序(Python & Matlab)。但是,一个程序是32位,另一个是64位。我是否必须为两个架构构建两个单独的库,然后为每个程序相应地设置路径?或者我可以在同一个库文件中构建两种体系结构,并且程序将选择要加载的正确体系结构?如果可以的话,那么如何?我可以在Mac OS上构建库和32位和64位体系结构吗?

谢谢!

回答

1

您可以构建两种体系结构并将它们合并为一个二进制文件。这样做的工具是lipo

例如,如果你已经建立libpopt作为一个32位的库,并把它放在lib/,并重新建立它作为一个64位的库,并放置在lib64/,然后命令这两个组合可能是:

lipo lib/libpopt.a lib64/libpopt.a -create -output libUniversal/libpopt.a 

欲了解更多信息,请参见脂手册页(here,或通过man lipo)。

+0

很酷。之前不知道lipo。 – Truong

相关问题