Ffmpeg没有编译

时间:2018-05-24 19:57:05

标签: android ffmpeg compilation

我试图为Android编译ffmpeg 4.0(使用Ubuntu 64位),但我无法让它工作。 我能够以相当快的速度为Linux本身编译它,但现在正在努力使用NDK。我对此没有经验,所以我可能在某处有一些重大缺陷。存在所有路径和文件。 Github教程非常过时,对我来说也有不同的错误。

获取以下错误:

In file included from ./libavformat/internal.h:24:0,
             from libavdevice/alldevices.c:23:
/home/lit/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi- 
4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux- 
androideabi/4.9.x/include/stdint.h:9:26: fatal error: stdint.h: No such file 
or directory
# include_next <stdint.h>
                      ^
compilation terminated.
ffbuild/common.mak:60: recipe for target 'libavdevice/alldevices.o' failed
make: *** [libavdevice/alldevices.o] Error 1

我的构建脚本:

SYSROOT=/home/lit/Android/Sdk/ndk-bundle/platforms/android-14/arch-arm/
TOOLCHAIN=/home/lit/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi- 
4.9/prebuilt/linux-x86_64

cd ffmpeg/ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" 
./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-O3 -Wall -pipe -ffast-math -fstrict-aliasing -Werror=strict- aliasing -Wno-psabi -Wa,--noexecstack -DANDROID -DNDEBUG-march=armv5te -mtune=arm9tdmi -msoft-float"\
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--arch=arm \
--target-os=linux \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--cpu=armv5te \
--sysroot=$SYSROOT \
--enable-gpl \
--enable-small \
--enable-nonfree && \

PATH="$HOME/bin:$PATH" make && \
make -j2 && \
make install && \
hash -r

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

see this
似乎平台的水平引起了这个问题 在SYSROOT尝试android-21。