编译ijkplayer遇到的问题“/libavutil/arm/asm.S:50:9: error: unknown directive”的解决

ijkplayer在ios下的编译看这篇文章https://www.jianshu.com/p/9743a68c2939就可以了。编译ffmpeg库的时候会遇到armv7架构无法成功,网上的说法几乎都是建议在 compile-ffmpeg.sh 中删除 armv7,修改为:
FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64"

然后再编译。

但这样在之后lipo合并的库中就没有armv7版本了,所以在xcode项目的Valid Architectures里就要去掉armv7,否则会报错。

实际上还有另一种方法,即禁用汇编,将tools/do-compile-ffmpeg.sh文件里的armv7架构的情况,改为:

elif [ "$FF_ARCH" = "armv7" ]; then
    FF_BUILD_NAME="ffmpeg-armv7"
    FF_BUILD_NAME_OPENSSL=openssl-armv7
    FF_XCRUN_OSVERSION="-miphoneos-version-min=6.0"
    FF_XCODE_BITCODE="-fembed-bitcode"
    FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-pic --disable-asm"

这样就能编译出包含armv7架构的库了。

你可能感兴趣的:(流媒体与服务器)