के लिए एक निष्पादन योग्य - संकलित ffmpeg बनाने में असमर्थ है, मैं एंड्रॉइड आर्मेबी उपकरणों के लिए ffmpeg संकलित करने की कोशिश कर रहा हूं।
मैं roman10.net
द्वारा ट्यूटोरियल का अनुसरण कर रहा हूं उनकी दी गई बिल्ड स्क्रिप्ट armv7-a devices के लिए ffmpeg बनाती है। मैं इसे आर्मेबी के लिए बनाना चाहता हूं।
आर्म-लिनक्स-एंड्रोइडबी-जीसीसी एंड्रॉइड आर्मेबी डिवाइस
मेरा अंतिम उद्देश्य एंड्रॉइड आर्मेबी और armv7-a उपकरणों पर ffmpeg आदेश चलाने के लिए है।
तो मैं
#arm v6
CPU=armv6
OPTIMIZE_CFLAGS="-marm -march=$CPU"
PREFIX=./android/$CPU
ADDITIONAL_CONFIGURE_FLAG=
build_one
करने से
#arm v7vfpv3
CPU=armv7-a
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
PREFIX=./android/$CPU
ADDITIONAL_CONFIGURE_FLAG=
build_one
स्क्रिप्ट के सीपीयू भाग को बदल (मैं इसे ARMv6 के लिए बदल सोचा ffmpeg armeabi उपकरणों के साथ संगत का निर्माण होगा। मीटर मैं गलत?)
संदेह 1:
क्या मुझे टूलच भी बदलना है ऐन? हाथ-linux-androideabi-4.4.3को हाथ-EABI-4.4.0 से
यानी ?????
संदेह 2:
जब मैं चल रहा ./build.sh (toolchain बदले बिना) की कोशिश यह मुझे निम्न त्रुटि देता है:
/home/chaitanya/android/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc is unable to create an executable file.
C compiler test failed.
If you think configure made a mistake,.. blaah blahh blaah
कि मैं चेतावनी कहने का बहुत कुछ के बाद:
'sub_id' को बहिष्कृत किया गया है और कई अन्य फ़ंक्शन चेतावनियों को बहिष्कृत कर दिया गया है।
मंच: ubuntu 11.10
ffmpeg संस्करण: 0.11.2
NDK: android-NDK-r5b
यहाँ अपने निर्माण स्क्रिप्ट है:
#!/bin/bash
######################################################
# Usage:
# put this script in top of FFmpeg source tree
# ./build_android
# It generates binary for following architectures:
# ARMv6
# ARMv6+VFP
# ARMv7+VFPv3-d16 (Tegra2)
# ARMv7+Neon (Cortex-A8)
# Customizing:
# 1. Feel free to change ./configure parameters for more features
# 2. To adapt other ARM variants
# set $CPU and $OPTIMIZE_CFLAGS
# call build_one
######################################################
NDK=~/android/android-ndk-r5b
PLATFORM=$NDK/platforms/android-8/arch-arm/
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
function build_one
{
./configure --target-os=linux \
--prefix=$PREFIX \
--enable-cross-compile \
--extra-libs="-lgcc" \
--arch=arm \
#--cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
#--nm=$PREBUILT/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
--disable-shared \
--enable-static \
--extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib -lc -lm -ldl -llog" \
--disable-everything \
--enable-demuxer=mov \
--enable-demuxer=h264 \
--disable-ffplay \
--enable-protocol=file \
--enable-avformat \
--enable-avcodec \
--enable-decoder=rawvideo \
--enable-decoder=mjpeg \
--enable-decoder=h263 \
--enable-decoder=mpeg4 \
--enable-decoder=h264 \
--enable-parser=h264 \
--disable-network \
--enable-zlib \
--disable-avfilter \
--disable-avdevice \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4 install
$PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
$PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg.so -shared -nostdlib -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
}
#arm v6
CPU=armv6
OPTIMIZE_CFLAGS="-marm -march=$CPU"
PREFIX=./android/$CPU
ADDITIONAL_CONFIGURE_FLAG=
build_one
#arm v7vfpv3
#CPU=armv7-a
#OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
#PREFIX=./android/$CPU
#ADDITIONAL_CONFIGURE_FLAG=
#build_one
#arm v7vfp
#CPU=armv7-a
#OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
#PREFIX=./android/$CPU-vfp
#ADDITIONAL_CONFIGURE_FLAG=
#build_one
#arm v7n
#CPU=armv7-a
#OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mtune=cortex-a8"
#PREFIX=./android/$CPU
#ADDITIONAL_CONFIGURE_FLAG=--enable-neon
#build_one
#arm v6+vfp
#CPU=armv6
#OPTIMIZE_CFLAGS="-DCMP_HAVE_VFP -mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU"
#PREFIX=./android/${CPU}_vfp
#ADDITIONAL_CONFIGURE_FLAG=
#build_one
कैसे कर मैं इस समस्या से निपटता हूँ? क्या गलत हो रहा है?
मैंने कोशिश की और अभी भी "arm-linux-androideabi-gcc निष्पादन योग्य फ़ाइल बनाने में असमर्थ" मैं उबंटू 12.10 64 बिट, ffmpeg-1.0 चला रहा हूं और उपरोक्त अपनी स्क्रिप्ट का उपयोग कर रहा हूं। कृपया – JeffG
सहायता करें मैं 12.04 (64 बिट) और एनडीके संस्करण आर 8 बी का उपयोग कर रहा हूं। यह त्रुटि आमतौर पर तब होती है जब आप एक अलग एनडीके संस्करण का उपयोग कर रहे होते हैं। यदि ऐसा नहीं है तो कृपया जवाब दें और मैं इस मुद्दे को हल करने में आपकी सहायता करने की कोशिश करूंगा। –
अरे, क्या आप मुझे बता सकते हैं कि इसे विंडोज वातावरण में कैसे निष्पादित किया जाए .. –