can not find libavformat FFmpe

作者: 猫叔很不爽 | 来源:发表于2020-03-23 23:52 被阅读0次

FFmpeg 4.2.2

NDK 20

Cmake 3.10.2

Android Studio 3.5

CPU64位

狗日的,编译个FFmpeg,爆了三个月的错,一直都解决不了。动脑的老师也总是找不到人。这里说一下,动脑现在真的不行了,一代目都走完了。现在都是一些弟弟老师讲课,没有以前的老师讲的好。感觉都是两个屏幕,对着Copy代码给我们讲。

QQ截图20200323234048.png

编译之后,一直都找不到编译的链接库。然后我就各种百度啊,今天随便试了下,突然就好了。妈个逼的,就是在后面加了个 .so

target_link_libraries(
        native-lib
        libavformat libavcodec libavfilter  libavutil libswresample libswscale
        ${log-lib} )

原来老师讲的是这样编译的。一直没成功。

target_link_libraries(
        native-lib
        libavformat.so libavcodec.so libavfilter.so  libavutil.so libswresample.so libswscale.so
        ${log-lib} )

项目地址:https://github.com/xslandlr/AndroidStudy.git TestFFmpeg10

贴一下linux中编译的脚本sh

#!/bin/bash
# 需要配置NDK路径
NDK_ROOT=/home/ndk_study/android-ndk-r20c
TOOLCHAIN=$NDK_ROOT/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64
ANDROID_API=21
# 编译之后输出的文件,也就是要libavformat等文件,放到AS中使用的。
PREFIX=./android/arm64-v8a

./configure \
--prefix=$PREFIX \
--enable-small \
--disable-programs \
--disable-avdevice \
--disable-encoders \
--disable-muxers \
--disable-filters \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/aarch64-linux-android- \
--disable-shared \
--enable-static \
--sysroot=$NDK_ROOT/platforms/android-$ANDROID_API/arch-arm64 \
--extra-cflags="-isysroot $NDK_ROOT/sysroot -isystem $NDK_ROOT/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=$ANDROID_API -U_FILE_OFFSET_BITS  -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv8-a -Wa,--noexecstack -Wformat -Werror=format-security  -O0 -fPIC" \
--arch=aarch64 \
--target-os=android

make clean
make install

另:动脑学院不好,配不上六七千的学费。

相关文章

网友评论

    本文标题:can not find libavformat FFmpe

    本文链接:https://www.haomeiwen.com/subject/kvcnyhtx.html