我正在尝试使用

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

#include

#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-3.3.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

题:

我错过了哪个图书馆链接?

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐