编译官方d211-master-V1.3.0-鲁班 SDK LVGL 开启FFmpeg库对MP4播放解码,配置界面里已开启FFmpeg,编译出现如下问题,怎么解决:
[ 99%] Building C object CMakeFiles/test_lvgl.dir/lvgl_v9/lv_drivers/fbdev/lv_port_indev.c.o
[100%] Linking C executable test_lvgl
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `ffmpeg_close_src_ctx':
lv_ffmpeg.c:(.text+0xa): undefined reference to `avcodec_free_context'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x14): undefined reference to `avformat_close_input'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x20): undefined reference to `av_frame_free'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x2c): undefined reference to `av_free'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `ffmpeg_pix_fmt_has_alpha':
lv_ffmpeg.c:(.text+0x76): undefined reference to `av_pix_fmt_desc_get'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `ffmpeg_update_next_frame':
lv_ffmpeg.c:(.text+0xd4): undefined reference to `av_read_frame'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0xf0): undefined reference to `avcodec_send_packet'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x10c): undefined reference to `avcodec_receive_frame'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x140): undefined reference to `av_strerror'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x16e): undefined reference to `av_strerror'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x194): undefined reference to `av_packet_unref'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x1f0): undefined reference to `av_get_pix_fmt_name'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x206): undefined reference to `av_get_pix_fmt_name'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x232): undefined reference to `av_frame_unref'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x250): undefined reference to `av_image_copy'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x262): undefined reference to `av_pix_fmt_desc_get'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x2a2): undefined reference to `sws_getContext'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x2e2): undefined reference to `sws_scale'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `ffmpeg_image_allocate':
lv_ffmpeg.c:(.text+0x314): undefined reference to `av_image_alloc'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x364): undefined reference to `av_image_alloc'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x388): undefined reference to `av_frame_alloc'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x3ba): undefined reference to `av_packet_alloc'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x3f4): undefined reference to `sws_freeContext'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x406): undefined reference to `av_free'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `ffmpeg_get_image_data.part.0':
lv_ffmpeg.c:(.text+0x494): undefined reference to `av_find_best_stream'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x4a4): undefined reference to `av_get_media_type_string'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `ffmpeg_open_codec_context.constprop.0':
lv_ffmpeg.c:(.text+0x4ee): undefined reference to `avcodec_find_decoder'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x4fa): undefined reference to `av_get_media_type_string'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x52a): undefined reference to `avcodec_alloc_context3'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x538): undefined reference to `av_get_media_type_string'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x56a): undefined reference to `avcodec_parameters_to_context'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x57a): undefined reference to `av_get_media_type_string'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x5b0): undefined reference to `avcodec_open2'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x5c0): undefined reference to `av_get_media_type_string'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `.L83':
lv_ffmpeg.c:(.text+0x662): undefined reference to `avformat_open_input'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `.L81':
lv_ffmpeg.c:(.text+0x69e): undefined reference to `avformat_find_stream_info'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `.L101':
lv_ffmpeg.c:(.text+0x81c): undefined reference to `avformat_open_input'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `.L102':
lv_ffmpeg.c:(.text+0x850): undefined reference to `avcodec_free_context'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `.L103':
lv_ffmpeg.c:(.text+0x85a): undefined reference to `avformat_close_input'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `decoder_info':
lv_ffmpeg.c:(.text+0x89a): undefined reference to `avformat_find_stream_info'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lv_ffmpeg.c:(.text+0x94c): undefined reference to `av_log_set_level'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `.L130':
lv_ffmpeg.c:(.text+0xae0): undefined reference to `av_seek_frame'
/home/linux/d211-master/output/d211_demo128_nand/host/opt/ext-toolchain/bin/../lib/gcc/riscv64-unknown-linux-gnu/10.4.0/../../../../riscv64-unknown-linux-gnu/bin/ld: lib/liblvgl.a(lv_ffmpeg.c.o): in function `.L132':
lv_ffmpeg.c:(.text+0xb28): undefined reference to `av_seek_frame'
collect2: error: ld returned 1 exit status
CMakeFiles/test_lvgl.dir/build.make:286: recipe for target 'test_lvgl' failed
make[4]: *** [test_lvgl] Error 1
CMakeFiles/Makefile2:128: recipe for target 'CMakeFiles/test_lvgl.dir/all' failed
make[3]: *** [CMakeFiles/test_lvgl.dir/all] Error 2
Makefile:132: recipe for target 'all' failed
make[2]: *** [all] Error 2
package/utils/pkg-generic.mk:408: recipe for target '/home/linux/d211-master/output/d211_demo128_nand/build/lvgl-ui/.stamp_built' failed
make[1]: *** [/home/linux/d211-master/output/d211_demo128_nand/build/lvgl-ui/.stamp_built] Error 2
Makefile:73: recipe for target '_all' failed
make: *** [_all] Error 2
最近编辑记录 80802680 (2025-09-08 08:24:02)
离线