0

为了在 android 中使用 ffmpeg,我尝试使用 build_libstagefright 来构建 ffmpeg

ffmpeg/工具/lib_stagefright

但它总是出现一个我无法解决的错误。

ffmpeg/config.log 底部的消息是

arm-linux-androideabi-g++ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -I../android-source/frameworks/base/include -I../android-source/system/核心/包含 -I../android-source/frameworks/base/media/libstagefright -I../android-source/frameworks/base/include/media/stagefright/openmax -I/home/user/android-ndk/来源/cxx-stl/gnu-libstdc++/include -I/home/user/android-ndk/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include -march=armv7-a -mfloat-abi= softfp -mfpu=neon -march=armv7-a -std=c99 -fomit-frame-pointer -fPIC -marm -Wno-multichar -fno-exceptions -fno-rtti -D__STDC_CONSTANT_MACROS -c -o /tmp/ffconf.6ZzEMs87。 o /tmp/ffconf.5jbfvJxK.cpp

./configure: line 701: /home/user/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-g++: 无法执行二进制文件

错误:找不到 libstagefright_h264

有人有这个解决方案吗??

我的构建环境是

  1. 窗口 7
  2. 赛格温
  3. android-NDK-r8b linux版本
4

2 回答 2

0

看一下ffmpeg/config.log- 最后一行必须有错误描述。

PS。在 Windows 上,我使用 MinGW|MSYS 成功编译了 ffmpeg

于 2013-04-18T09:43:21.293 回答
0

我找到了一个方法,让我越过这个错误。

在 ffmpeg/configure 文件中

起源 :

启用 libstagefright_h264 && require_cpp libstagefright_h264 "binder/ProcessState.h media/stagefright/MetaData.h

固定的 :

启用 libstagefright && require_cpp libstagefright_h264 "binder/ProcessState.h media/stagefright/MetaData.h

当我在这里将 libstagefright_h264 修复为 libstagefright 时,在出现下一个错误之前似乎是正常的。

CC      libavcodec/lagarithrac.o
CC      libavcodec/latm_parser.o
CXX     libavcodec/libstagefright.o
/bin/sh: /home/user/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux- x86/bin/arm-linux-androideabi-g++: cannot execute binary file
CC      libavcodec/lcldec.o
common.mak:51: recipe for target `libavcodec/libstagefright.o' failed
make: *** [libavcodec/libstagefright.o] Error 126
make: *** Waiting for unfinished jobs....

PS:ffmpeg版本是1.0

于 2012-11-07T03:04:03.833 回答