1

我有一些 dylib 可以使用 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

我确实使用安装说明编译了蹩脚的库:

./configure
make
make install

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

谢谢。

4

1 回答 1

2

赶紧跑:

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

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

于 2010-11-16T10:19:50.397 回答