无法在Mac OS X上编译兼容i386的ffmpeg dylibs

sim*_*n.d 5 macos x86 ffmpeg 32bit-64bit osx-lion

我正在运行64位Lion,但我需要编译一个32位版本的ffmpeg,因为我使用的另一个库只能用作32位.我尝试了许多不同的配置,但它们都给了我错误.这是我尝试过的:

./configure --disable-static --enable-shared --disable-outdev = sdl --disable-bzlib --disable-libfreetype --disable-libopenjpeg --enable-zlib --enable-runtime-cpudetect --arch = i386 --extra-cflags =" - arch i386" - extra-ldflags =" - arch i386"--target-os = darwin --enable-cross-compile

./configure --disable-static --enable-shared --disable-outdev = sdl --disable-bzlib --disable-libfreetype --disable-libopenjpeg --enable-zlib --enable-runtime-cpudetect --arch = i386 --extra-cflags =" - arch i386" - extra-ldflags =" - arch i386"

./configure --disable-static --enable-shared --disable-outdev = sdl --disable-bzlib --disable-libfreetype --disable-libopenjpeg --enable-zlib --enable-runtime-cpudetect --arch = x86_32

我或者在make期间得到"寄存器分配期间寄存器用完"错误或者gcc抱怨交叉编译没有激活.

sim*_*n.d 11

我能够通过使用clang而不是gcc来使用ffmpeg build 08d2cee4.所以这里有配置线工作:

./configure --disable-static --enable-shared --disable-outdev=sdl --enable-runtime-cpudetect --disable-bzlib --disable-libfreetype --disable-libopenjpeg --enable-zlib --cc="clang -m32"
Run Code Online (Sandbox Code Playgroud)

感谢Carl on libav-user!

以下是我的帖子以防万一:http://ffmpeg.org/pipermail/libav-user/2011-December/001013.html