ESP-IDF框架下的项目编译出现 No such file or directory的解决方法

 当使用ESP-IDF框架编写项目的时候,往往会在编译的时候碰见这种错误,网上找了很久解决问题的方法,大多数说是路径不对,需要包含进去。

../main/app_sd.c:15:10: fatal error: esp_vfs_fat.h: No such file or directory
 #include "esp_vfs_fat.h"
          ^~~~~~~~~~~~~~~
compilation terminated.
[96/108] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/app_wifi.c.obj

 查找esp_vfs_fot.h文件得知其在fatfs目录下vfs目录下,于是在项目的CMakeList.txt中设置如下

set(EXTRA_COMPONENT_DIRS 
    $ENV{IDF_PATH}/components/fatfs)

编译后依然报错。 

 进入到fatfs组件中,修改CMakeList.txt,修改component.mk,一通折腾,依然问题如故。

最终发现问题的根源在于,编译的时候此组件的include压根没有进入编译坏境里,那么需要想办法把这个组件添加进require里

最后在项目目录的main目录下发现一个CMakeList.txt文件,里面有个require

set(COMPONENT_REQUIRES
    esp32-camera
    esp-face
    nvs_flash
    esp_http_server
    fb_gfx
    mdns
    wpa_supplicant
    fatfs
    )

 于是添加fatfs,编译后终于不出错了。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值