Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android FFmpeg:对atof,log2和log2f的未定义引用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 android-ndk-r15c链接到为android构建的FFmpeg.我通过下载最新的ffmpeg@R_772_10603@.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_MACROS

extern "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/bash

cd ffmpeg@R_772_10603@.4

NDK=/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-Strip

function 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-15的ndk-r10e,用X264构建ffmpeg-2.8.15.我更新了代码以使用android-21并且它编译代码没有任何问题.我们的min sdk版本是21.

大佬总结

以上是大佬教程为你收集整理的Android FFmpeg:对atof,log2和log2f的未定义引用全部内容,希望文章能够帮你解决Android FFmpeg:对atof,log2和log2f的未定义引用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。