LVGL笔记(5):文件系统编译出错[lv_fs_fatfs.c:12:10: fatal error: ff.h: No such file or directory]

1.出现问题

在使用LVGL自带的第三方库 fsdrv 时,编译会出现下面的错误提示:

H:/LVGL_HX8369/components/lvgl/src/extra/libs/fsdrv/lv_fs_fatfs.c:12:10: fatal error: ff.h: No such file or directory
 #include "ff.h"
          ^~~~~~
compilation terminated.

跳转到源码处(红框为出错行):
在这里插入图片描述
这个文件在IDF安装目录下可以找到:esp-idf/components/fatfs/src/ff.h ,一开始为了快速解决问题,我使用了绝对路径;但是绝对路径在分享源码时,换了环境就会出错。今天花点时间看看怎么完美解决。

2.解决思路

思路:在CMakeList.txt中把 fatfs 组件加入需求。看看 lvgl/src/extra/libs/fsdrv/ 目录下面有没有这个文件,答案是没有,往上一级目录,一直去到 lvgl/ 下面才有 《CMakeList.txt》:
在这里插入图片描述
继续看 lvgl/env_support/cmake/esp.cmake:
在这里插入图片描述
在红色框里面可以加入 fatfs 组件的需求:

  idf_component_register(SRCS ${SOURCES} INCLUDE_DIRS ${LVGL_ROOT_DIR}
                         ${LVGL_ROOT_DIR}/src ${LVGL_ROOT_DIR}/../  
                         REQUIRES
                            fatfs)

保存,编译,成功。

posted @ 2022-10-14 15:13  汉塘阿德  阅读(152)  评论(0编辑  收藏  举报  来源