我需要在Mac OS X上构建一个库(Ipopt),并从两个不同的程序(Python和Matlab)中使用它。但是,一个程序是32位,另一个是64位。我是否必须构建两个独立的两个体系结构库,然后为每个程序设置相应的路径?或者我可以在同一个库文件中构建两个体系结构,程序将选择要加载的正确体系结构吗?如果可以,那怎么样?
谢谢!
答案 0 :(得分:1)
您可以构建这两种体系结构并将它们组合成一个二进制文件。执行此操作的工具是lipo
。
例如,如果您已将libpopt构建为32位库并将其放在lib/
中,并将其再次构建为64位库并将其放在lib64/
中,则将命令合并这两个可能是:
lipo lib/libpopt.a lib64/libpopt.a -create -output libUniversal/libpopt.a
有关详情,请参阅个人手册页(here或man lipo
)。