Android FFmpeg(对atof,log2和log2f的未定义引用)

古人学问无遗力,少壮工夫老始成。这篇文章主要讲述Android FFmpeg:对atof,log2和log2f的未定义引用相关的知识,希望能为你提供帮助。
我正在尝试使用android-ndk-r15c链接到为android构建的FFmpeg。我通过下载最新的ffmpeg-3.3.4的FFmpeg source来构建它。
以下是我的链接器列表:

-lavformat -lavcodec -lswscale -lavutil -lavfilter -lswresample -lavdevice -lpostproc

我抱怨以下错误
libavformat/hls.c:783: error: undefined reference to 'atof' libavcodec/ffv1enc.c:146: error: undefined reference to 'log2' libavcodec/imc.c:428: error: undefined reference to 'log2f'

以下是我的FFmpeg相关内容包括:
#include < stdint.h> #include < cstdlib> #define __STDC_CONSTANT_MACROSextern "C" {#include "libavcodec/avcodec.h" #include "libavformat/avformat.h" #include "libavutil/mathematics.h" #include "libavcodec/version.h" #include "libavutil/rational.h" #include "libavutil/avstring.h" #include "libswscale/swscale.h"}

以下是我用于交叉编译FFmpeg for android的buildscript:
#!/bin/bashcd ffmpeg-3.3.4NDK=/path/to/ndk/android-ndk-r15c SYSROOT=$NDK/platforms/android-21/arch-arm/ TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64 AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar CPREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-ar CC=$TOOLCHAIN/bin/arm-linux-androideabi-gcc CXX=$TOOLCHAIN/bin/arm-linux-androideabi-g++ LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-stripfunction build_ffmpeg_android {./configure --prefix=$PREFIX --disable-stripping --arch=arm --cpu=cortex-a8 --target-os=linux --enable-cross-compile --enable-debug --enable-pic --disable-programs --enable-static --disable-shared --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- --disable-doc --enable-postproc --enable-swscale --enable-avfilter --enable-avresample --disable-opencl --disable-securetransport --sysroot=$SYSROOT --enable-videotoolbox --enable-avresample --disable-symver #--enable-gpl #--enable-libx264 $ADDITIONAL_CONFIGURE_FLAG make clean make -j9 make install }CPU=arm PREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm"build_ffmpeg_android

题: 我错过了哪个图书馆链接?
答案【Android FFmpeg(对atof,log2和log2f的未定义引用)】我遇到了这个问题,使用ffmpeg-2.8.15和平台x264ndk-r10e建立android-15。我更新了代码以使用android-21并且它编译代码没有任何问题。我们的min sdk版本是21

    推荐阅读