2
我需要在Mac OS X上构建一个库(Ipopt),并使用它从两个不同的程序(Python & Matlab)。但是,一个程序是32位,另一个是64位。我是否必须为两个架构构建两个单独的库,然后为每个程序相应地设置路径?或者我可以在同一个库文件中构建两种体系结构,并且程序将选择要加载的正确体系结构?如果可以的话,那么如何?我可以在Mac OS上构建库和32位和64位体系结构吗?
谢谢!
我需要在Mac OS X上构建一个库(Ipopt),并使用它从两个不同的程序(Python & Matlab)。但是,一个程序是32位,另一个是64位。我是否必须为两个架构构建两个单独的库,然后为每个程序相应地设置路径?或者我可以在同一个库文件中构建两种体系结构,并且程序将选择要加载的正确体系结构?如果可以的话,那么如何?我可以在Mac OS上构建库和32位和64位体系结构吗?
谢谢!
您可以构建两种体系结构并将它们合并为一个二进制文件。这样做的工具是lipo
。
例如,如果你已经建立libpopt作为一个32位的库,并把它放在lib/
,并重新建立它作为一个64位的库,并放置在lib64/
,然后命令这两个组合可能是:
lipo lib/libpopt.a lib64/libpopt.a -create -output libUniversal/libpopt.a
欲了解更多信息,请参见脂手册页(here,或通过man lipo
)。
很酷。之前不知道lipo。 – Truong