使用 Android NDK 为 x86 编译 FFmpeg 3.1.1
Compiling FFmpeg 3.1.1 for x86 using Android NDK
最新版本的FFmpeg
是3.1.1
。版本3.1
之后,我无法为x86
编译FFmpeg
。(但可以编译3.0.2
或更早的版本。
终端显示ld: error: libavutil/../compat/strtod.o: incompatible target
。
我的操作系统Xubuntu 14.04 x86
x86_64
。(我都试过了。
我的NDK
版本是r10e(x86)
和r12b(x86_64)
。
当我编译FFmpeg 3.0.2
时,它没有错误。
这是我的配置:
./configure
--prefix="${PREFIX}"
--enable-shared
--disable-static
--disable-doc
--disable-ffplay
--disable-ffprobe
--disable-ffserver
--cross-prefix="${PREFIX}/bin/i686-linux-android-"
--target-os=linux
--arch=x86
--enable-cross-compile
--sysroot="${PREFIX}/sysroot"
--extra-cflags=""
--extra-ldflags=""
--extra-libs=""
--disable-debug
${PREFIX}
是运行 --install-dir
make-standalone-toolchain.sh
时用于选项的目录路径这是 Android NDK 中的一个工具。
它只发生在我为x86
编译FFmpeg
时。 ARM
架构还可以。
我遇到了同样的问题并找到了解决方法。 确保删除"compat/strtod.o"和"compat/strtod.d",如果你以前为另一个架构构建。 出于某种原因,如果您在 3.1.1 中更改架构,这些不会重建,但它在以前的版本中运行良好。 您还应该在构建之前进行"清洁"。
相关文章:
- 二叉排序树无法编译
- 编译时未启用intel oneApi CUDA支持
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 将 FFMPEG 的 GPU 版本编译为 OpenCV
- 编译自己的 FFMPEG 过滤器
- 我在使用 ffmpeg 进行开发时遇到的编译错误
- 使用 FFMPEG 将每个输入图像转换为 H264 编译时出错,该图像在 MevisLab 中运行的 Visual St
- FFMPEG 2.8.x 交叉编译错误在 Mac OS X 10.10 上
- 在Visual Studio 2013中编译FFMPEG
- 为什么我只需要直接在PC上编译ffmpeg,我将在其上开发将使用ffmpeg库的应用程序
- 错误:使用 NDK 编译 FFMPEG 时未定义对'av_free_packet(AVPacket*)'的引用
- VS2005 中的 ffmpeg 编译 mathops.h 中的汇编代码无法编译
- 如何使用libx265为Android编译FFmpeg
- FFMPEG安卓编译与libmp3lame
- Ffmpeg头文件不能在windows中编译
- C++Ubuntu.使用FFMPEG库编译的多个未定义引用
- ffmpeg编译错误__wrap_swr_convert
- GCC-如何使用FLV1(又名H.263)、MP3(格式和编解码器)和FLV(容器格式)编译FFMpeg
- 使用 Android NDK 为 x86 编译 FFmpeg 3.1.1