首页| 论坛| 消息
主题:请教下大佬们qt android怎么编译ffmpeg库
回帖:20091001753:
就像在 Win系统里,dll 会有 32位 和 64位 的区别。
同理,安卓系统,.a 文件也有类似的区别,armv7 是 32位,armv8 是 64位。
#!/bin/bash

export NDK=/home/Android/Sdk/ndk/21.3.6528147 #这里配置先你的 NDK 路径
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64

#arm64-v8a
ARCH=arm64
CPU=armv8-a
API=29
CC=$TOOLCHAIN/bin/clang
CXX=$TOOLCHAIN/bin/clang++
SYSROOT=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/
PREFIX=$(pwd)/android/$CPU/$API
OPTIMIZE_CFLAGS="-march=$CPU"

function build_android
{

./configure \
--prefix=$PREFIX \
--enable-neon\
--enable-hwaccels\
--enable-gpl \
--disable-debug \
--enable-small \
--enable-jni \
--enable-mediacodec \
--enable-decoder=h264_mediacodec \
--enable-static \
--enable-shared \
--disable-doc \
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-doc \
--disable-symver \
--cross-prefix=$CROSS_PREFIX \
--target-os=android \
--arch=$ARCH \
--cpu=$CPU \
--cc=$CC \
--cxx=$CXX \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS"

make clean
make -j16
make install

echo "============================ build android $CPU->$API success =========================="

}

build_android

这是我的编译脚本qt编译用的是armv8-aandroid build platforms 29
结果还是报错
‹上一楼:就像在 Win系统里,dll 会有 32位 和 64位 的区别。
同理,安卓系统,.a 文件也有类似的区别 ..

查看全部回帖(4)
«返回主帖