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)
保存,编译,成功。