今天想在Mac10.9 XCode5的环境下把ffmpeg编译出来,本来以为很好搞定,结果版本一升级,以前的命令行不通了,出各种错误。折腾了三四个小时,最后终于成功了。
编译流程:
1.ffmpeg官网下载ffmpeg源代码,并解压。
2.从命令行进入ffmpeg目录,输入以下脚本:
模拟器版本:
./configure --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-avresample --enable-cross-compile --sysroot="/Applications/Xcode5-DP5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk" --target-os=darwin --cc="/Applications/Xcode5-DP5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" --extra-cflags="-arch i386 -mfpu=neon -miphoneos-version-min=7.0" --extra-ldflags="-arch i386 -isysroot /Applications/Xcode5-DP5.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -miphoneos-version-min=7.0" --arch=i386 --cpu=i386 --enable-pic --disable-asm --enable-decoder=h264 --enable-decoder=rv40
(上面红色的地方需要替换成不同机器中xcode的具体路径,绿色的部分表示支持h264和rmvb的解码,不加rv40这个就无法播放rmvb视频)
3. 输入make命令
4. make install (生成的结果在/usr/local里面)
真机版本:(时间有限下次补充)
注意, 这个命令与网上已有的很多xcode编译ffmpeg教程的区别在于:
1. 以前需要gas-preprocessor.pl这个文件,但经过测试,在XCode4环境下是需要的,XCode5环境下已经不需要了。
2. XCode4环境下,--cc的路径是gcc的路径,但现在XCode5里面需要clang的路径。
3. 多了一个-miphoneos-version-min=7.0,没有这个字段会出一个动态库错误,具体可以自己试试。