为了在android中使用ffmpeg,我试图在
中使用build_libstagefright来构建ffmpeg的ffmpeg /工具/ lib_stagefright
但是alwalys似乎出现了一个我无法解决的错误。
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 / core / include -I ../ android-source / frameworks / base / media / libstagefright -I ../ android-source / frameworks / base / include / media / stagefright / openmax -I / home / user / android -ndk / sources / 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:第701行:/home/user/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-g++:无法执行二进制文件文件
错误:未找到libstagefright_h264
任何人都有解决方案吗?
我的构建环境是
答案 0 :(得分: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
答案 1 :(得分:0)
看看ffmpeg/config.log
- 最后一行必须有错误说明。
PS。在Windows上我使用MinGW | MSYS成功编译ffmpeg