如何为不同的架构构建mach-0?

时间:2010-06-05 16:25:50

标签: macos gcc lame

我有一些dylibs用ctypes从python加载。我可以加载libbass.dylib没有问题,但我无法加载自编译的libmp3lame.dylib。这是我得到的错误。

  

OSError:dlopen(libmp3lame.dylib,6):   找不到合适的图像。找到了:    libmp3lame.dylib:mach-o,但错了   体系结构

然后,我检查这些库的文件类型。这是libbass.dylib的结果:

libbass.dylib: Mach-O universal binary with 2 architectures
libbass.dylib (for architecture i386): Mach-O dynamically linked shared library i386
libbass.dylib (for architecture ppc): Mach-O dynamically linked shared library ppc

这是自编的:

libmp3lame.dylib: Mach-O 64-bit dynamically linked shared library x86_64

我确实使用安装说明编译了lame库:

./configure
make
make install

我是mac系统的新手,问题出现了:如何构建libmp3lame.dylib以便它支持我想要的不同架构?

感谢。

1 个答案:

答案 0 :(得分:1)

跑步:

CFLAGS="-arch i386 -arch x86_64 -arch pcc" ./configure

有关详细信息,请参阅http://developer.apple.com/library/mac/#technotes/tn2005/tn2137.html