使用Bambuser源的Android NDK建设 [英] Android-NDK building using the Bambuser source
问题描述
我试图使用由Bambuser提供的FFmpeg的源代码。
不过,我不能够培养文件
我收到以下错误:
ARM-Linux的androideabi-GCC是无法创建一个可执行文件。 C编译器测试失败。
我已经设置了NDK路径为/ home / Android的NDK,但仍然收到此错误
和我使用的Android NDK-R5B
谁能帮助? THX
下面是我的build.sh
#!/斌/庆典
如果[$ NDK=];然后
回声NDK变量未设置,假定$ {HOME} / Android的NDK
出口NDK = $ {HOME} / Android的NDK
科幻
SYSROOT = $ NDK /平台/ Android的3 /弓臂
#展开prebuilt / *路径转换为正确的
工具链=`回声$ NDK /工具链/ ARM-Linux的androideabi-4.4.3 / prebuilt / windows`
出口PATH = $工具链/斌:$ PATH
室射频构建/ ffmpeg的
MKDIR -p编译/ ffmpeg的
CD的ffmpeg
#不要现在构建任何霓虹灯版本
对于版本的ARMv5TE armv7a;做
DEST = .. /建设/ ffmpeg的
标志= - 目标OS = Linux的--cross- preFIX =臂的Linux androideabi- --arch =手臂
FLAGS =$ FLAGS --sysroot = $ SYSROOT
FLAGS =$ FLAGS --soname- preFIX = /数据/数据/ com.streaming.realive / lib中/
FLAGS =$ FLAGS --enable-共享 - 禁用symver命令
FLAGS =$ FLAGS --enable-小--optimization-标志= -O2
FLAGS =$ FLAGS --enable-CN codeR = MPEG4 --enable-DE codeR = MPEG4
FLAGS =$ FLAGS --enable-CN codeR = mpeg2video --enable-CN codeR =得到Nellymoser
FLAGS =$ FLAGS --enable-协议= RTP --enable-协议= RTMP
FLAGS =$ FLAGS --enable-协议= HTTP --enable-协议= TCP --enable-协议= UDP
FLAGS =$ FLAGS --enable-协议=文件
万一$版
氖)
EXTRA_CFLAGS = - 三月=的ARMv7-A -mfloat-ABI = softfp -mfpu =霓虹灯
EXTRA_LDFLAGS = - WL - 修复 - Cortex-A8的
#运行时选择的霓虹灯与非氖要求
#重命名的文件
ABI =armeabi,V7A
;;
armv7a)
EXTRA_CFLAGS = - 三月=的ARMv7-A -mfloat-ABI = softfp
EXTRA_LDFLAGS =
ABI =armeabi,V7A
;;
*)
EXTRA_CFLAGS =
EXTRA_LDFLAGS =
ABI =armeabi
;;
ESAC
DEST =$ DEST / $ ABI
标志=$标志 - preFIX = $ DEST
的mkdir -p $ DEST
回声$ FLAGS --extra-CFLAGS =$ EXTRA_CFLAGS--extra-LDFLAGS =$ EXTRA_LDFLAGS> $ DEST / info.txt
的./configure $ FLAGS --extra-CFLAGS =$ EXTRA_CFLAGS--extra-LDFLAGS =$ EXTRA_LDFLAGS|三通$ DEST / configuration.txt
[$ PIPESTATUS == 0] || 1号出口
使清洁
让-j4 || 1号出口
使安装|| 1号出口
做完
第一 u使用哪个平台? 我建议Ubuntu的。
二确保NDK的路径是正确的。
第三 标志=$ FLAGS --soname- preFIX = /数据/数据/ com.streaming.realive / lib目录/
也许你需要在你的计算机上创建相对文件夹
I am trying to use the FFmpeg source provided by the Bambuser.
However, I am fail to build the files
I get the following error:
arm-linux-androideabi-gcc is unable to create an executable file. C compiler test failed.
I have already set the NDK path to /home/android-ndk but still get this error
And I am using Android-NDK-r5b
can anyone help? THX
Here is my build.sh
#!/bin/bash
if [ "$NDK" = "" ]; then
echo NDK variable not set, assuming ${HOME}/android-ndk
export NDK=${HOME}/android-ndk
fi
SYSROOT=$NDK/platforms/android-3/arch-arm
# Expand the prebuilt/* path into the correct one
TOOLCHAIN=`echo $NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows`
export PATH=$TOOLCHAIN/bin:$PATH
rm -rf build/ffmpeg
mkdir -p build/ffmpeg
cd ffmpeg
# Don't build any neon version for now
for version in armv5te armv7a; do
DEST=../build/ffmpeg
FLAGS="--target-os=linux --cross-prefix=arm-linux-androideabi- --arch=arm"
FLAGS="$FLAGS --sysroot=$SYSROOT"
FLAGS="$FLAGS --soname-prefix=/data/data/com.streaming.realive/lib/"
FLAGS="$FLAGS --enable-shared --disable-symver"
FLAGS="$FLAGS --enable-small --optimization-flags=-O2"
FLAGS="$FLAGS --enable-encoder=mpeg4 --enable-decoder=mpeg4"
FLAGS="$FLAGS --enable-encoder=mpeg2video --enable-encoder=nellymoser"
FLAGS="$FLAGS --enable-protocol=rtp --enable-protocol=rtmp"
FLAGS="$FLAGS --enable-protocol=http --enable-protocol=tcp --enable-protocol=udp"
FLAGS="$FLAGS --enable-protocol=file"
case "$version" in
neon)
EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon"
EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"
# Runtime choosing neon vs non-neon requires
# renamed files
ABI="armeabi-v7a"
;;
armv7a)
EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp"
EXTRA_LDFLAGS=""
ABI="armeabi-v7a"
;;
*)
EXTRA_CFLAGS=""
EXTRA_LDFLAGS=""
ABI="armeabi"
;;
esac
DEST="$DEST/$ABI"
FLAGS="$FLAGS --prefix=$DEST"
mkdir -p $DEST
echo $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" > $DEST/info.txt
./configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" | tee $DEST/configuration.txt
[ $PIPESTATUS == 0 ] || exit 1
make clean
make -j4 || exit 1
make install || exit 1
done
First which platform u use? I suggest Ubuntu.
Second make sure NDK path is correct.
Third FLAGS="$FLAGS --soname-prefix=/data/data/com.streaming.realive/lib/"
maybe you need to create the relative folder in your computer
这篇关于使用Bambuser源的Android NDK建设的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!