我有一些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以便它支持我想要的不同架构?
感谢。
答案 0 :(得分:1)
跑步:
CFLAGS="-arch i386 -arch x86_64 -arch pcc" ./configure
有关详细信息,请参阅http://developer.apple.com/library/mac/#technotes/tn2005/tn2137.html