Android Ffmpeg未编译
我正在尝试为Android编译ffmpeg 4.0(使用Ubuntu 64位),但我无法让它工作。 我能够以相当快的速度为Linux本身编译它,但现在使用NDK很困难。我没有这方面的经验,所以我可能有一些重大缺陷的地方。所有路径和文件都存在。Github教程已经非常过时了,对于我来说,它们的效果也不太好,有各种各样的错误 获取以下错误:Android Ffmpeg未编译,android,ffmpeg,compilation,Android,Ffmpeg,Compilation,我正在尝试为Android编译ffmpeg 4.0(使用Ubuntu 64位),但我无法让它工作。 我能够以相当快的速度为Linux本身编译它,但现在使用NDK很困难。我没有这方面的经验,所以我可能有一些重大缺陷的地方。所有路径和文件都存在。Github教程已经非常过时了,对于我来说,它们的效果也不太好,有各种各样的错误 获取以下错误: In file included from ./libavformat/internal.h:24:0, from libavdevi
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中尝试android-21。
同样的结果。但为什么会这样呢?我不是为arm64编译的。
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