导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    全志t113交叉编译移植ffmpeg报错

    编译和烧写问题专区
    2
    4
    137
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • X
      xiaomifeng LV 2 最后由 编辑

      我在ubuntu18上面编译ffmpeg,希望移植到全志开发板执行,遇到了一个问题,上网找了很多资料都无法解决,有哪位大佬可以指导一下吗,万分感谢~

      编译脚本如下:
      ./configure \
      --enable-cross-compile \
      --target-os=linux \
      --cc=/home/meetyoo/t113/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-gcc \
      --strip=/home/meetyoo/t113/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/arm-openwrt-linux-strip \
      --arch=arm \
      --prefix="$HOME/ffmpeg7.1_arm_build" \
      --bindir="$HOME/ffmpeg7.1_arm_bin" \
      --enable-ffmpeg \
      --enable-shared \
      --disable-static \
      --enable-pic \
      --extra-cflags="-I/root/ffmpeg7.1_arm_build/include \
                     -I/home/meetyoo/t113/Tina-Linux/out/t113-bingpi_m2/staging_dir/target/usr/include \
                     -I/home/meetyoo/t113/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/include" \
      --extra-ldflags="-L/root/ffmpeg7.1_arm_build/lib \
                      -L/home/meetyoo/t113/Tina-Linux/out/t113-bingpi_m2/staging_dir/target/usr/lib \
                      -L/home/meetyoo/t113/Tina-Linux/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/lib" \
      --extra-libs="-lpthread -lm" \
      --enable-gpl \
      --enable-nonfree \
      --disable-optimizations \
      --disable-stripping
      

      #编译出来ffmpeg执行文件复制到全志开发板:
      adb push $HOME/ffmpeg7.1_arm_build/lib /root/ffmpeg7.1_arm_build/lib
      adb push $HOME/ffmpeg7.1_arm_bin/ffmpeg /root/ffmpeg7.1_arm_build/lib/

      #adb链接开发板
      adb shell

      #设置LD_LIBRARY_PATH
      export LD_LIBRARY_PATH=/root/ffmpeg7.1_arm_build/lib:$LD_LIBRARY_PATH

      #执行ffmpeg报错

      c5ec7e50-09cd-452e-b343-c5b8bd909e94-image.png

      J 1 条回复 最后回复 回复 引用 分享 0
      • J
        jasonzhang LV 4 @xiaomifeng 最后由 编辑

        @xiaomifeng Exec format error感觉像加载库时不是arm对应版本,首先你确定能找到这些库,能找到后,使用file libswscale.so.8.6.100类似命令,看库的类型是什么?正确的应该类似如下:
        libswscale.so.8.6.100: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, for GNU/Linux 3.17.0, stripped
        不正确的话,可能是编译的时候会正确的设置--cross-prefix=arm-none-linux-gnueabihf-指定编译工具。

        X 1 条回复 最后回复 回复 引用 分享 0
        • X
          xiaomifeng LV 2 @jasonzhang 最后由 xiaowenge 编辑

          @jasonzhang 我的板子的厂商提供的虚拟机环境提供了5个交叉编译工具链,如下:

          drwxr-xr-x 3 meetyoo meetyoo 4096 Mar 18  2022 toolchain-sunxi-arm9-glibc/
          drwxr-xr-x 3 meetyoo meetyoo 4096 Mar 18  2022 toolchain-sunxi-arm9-musl/
          drwxr-xr-x 3 meetyoo meetyoo 4096 Mar 18  2022 toolchain-sunxi-glibc/
          drwxr-xr-x 3 meetyoo meetyoo 4096 Mar 18  2022 toolchain-sunxi-glibc-gcc-531/
          drwxr-xr-x 3 meetyoo meetyoo 4096 Mar 18  2022 toolchain-sunxi-musl/
          

          我每个工具链都试过了,厂商推荐使用toolchain-sunxi-musl,生成的.so文件和ffmpeg执行文件也使用file命令查看了,如下:

          root@ubuntu:~/ffmpeg7.1_arm_build/lib# file libswscale.so.8.6.100
          libswscale.so.8.6.100: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, with debug_info, not stripped
          
          root@ubuntu:~/ffmpeg7.1_arm_bin# file ffmpeg 
          ffmpeg: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-armhf.so.1, with debug_info, not stripped
          root@ubuntu:~/ffmpeg7.1_arm_bin# 
          

          但是不知道为啥在开发板执行就是报上面的错误了。

          J 1 条回复 最后回复 回复 引用 分享 0
          • J
            jasonzhang LV 4 @xiaomifeng 最后由 编辑

            @xiaomifeng 你的执行嵌入式环境ubuntu系统,不是buildroot这类,你可以用低于嵌入式ubuntu版本上glibc对应的标准arm-none-linux-gnueabihf-gcc,这个可以使用"https://mirrors.tuna.tsinghua.edu.cn/armbian-releases/_toolchain/“,去下个低版本的安装就可以(低于嵌入式ubuntu上的arm-gcc)。

            1 条回复 最后回复 回复 引用 分享 0
            • 1 / 1
            • First post
              Last post

            Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

            行为准则 | 用户协议 | 隐私权政策