ERROR: jni not found or linux C compiler test faile

FFmpeg交叉編譯到JNI以及測試Demo可以參考以下網站:

https://www.itread01.com/content/1546866543.html

下面整理一下了 cross compiler FFmpeg 時遇到的問題。

  1. 在交叉編譯FFmpeg時,分別遇到以下三種錯誤:
    ERROR: jni not found

    linux C compiler test faile

    ‘s_addr’ in something not a structure or unionr

最後解決方法,直接更換成FFmpeg 4.0.1版本並搭配NDK 版本 android-ndk-r14b。
這牽扯到一些新舊版SDK及FFmpeg版本問題,直接跟換版本最快。

  1. 當碰到以下錯誤時:
    Makefile:2: ffbuild/config.mak: No such file or directory
    Makefile:40: /tools/Makefile: No such file or directory

    可以參考以下網址:

    https://www.laoyuyu.me/2019/05/23/android/clang_compile_ffmpeg/

解決辦法:(執行 ./configure --disable-x86asm 生成config.mak文件)

  1. 當遇到以下時:
    libavdevice/fbdev_common.c:134:1: fatal error: opening dependency file libavdevice/fbdev_common.d: Permission denied compilation terminated.
    ffbuild/common.mak:60: recipe for target ‘libavdevice/fbdev_common.o’ failed
    make: *** [libavdevice/fbdev_common.o] Error 1
    make: *** Waiting for unfinished jobs…
    l ibavdevice/alldevices.c:70:1: fatal error: opening dependency file libavdevice/alldevices.d: Permission denied

解決辦法: sudo make -j4

  1. 當編譯FFmpeg JNI遇到以下問題時:
    FFmpeg-n4.0.1\libavcodec/x86/mathops.h:118:12: error: invalid input constraint ‘ic’ in asm
    : “ic” ((uint8_t)(-s))
    ^
    FFmpeg-n4.0.1\libavcodec/x86/mathops.h:127:12: error: invalid input constraint ‘ic’ in asm
    : “ic” ((uint8_t)(-s))

解決方式: 在linux上,重新交叉編譯,在build.sh內的
./configure
裡面加入 --disable-x86asm \ 及 --disable-inline-asm \

  1. 當編譯FFmpeg JNI遇到以下問題時:
    .error: undefined reference to ‘postproc_version’
    可參考:

http://www.matools.com/lang-cht/blog/190618650

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值