基于ESP-IDF环境的ESP32-C3开发之No such file or directory

基于ESP-IDF环境的ESP32-C3开发踩坑

No such file or directory
昨天移植完smartconfig配网后,想着把蓝牙配网也添加进去,打开demo,阅读和修改blu_fi后,下载到ESP32-C3里面,跑了一下,没问题,随进行搬砖。
在用户组件components里新建文件夹及文件,内容如下

|---components
|   |---blu_fi                    //蓝牙配网例程,需要用到乐鑫的EspBluFi.app
|   |   |---bsp_blu_fi.c
|   |   |---CMakeLists
|   |   |---include
|   |   |    |---bsp_blu_fi.h

因为刚接触ESP-IDF不久,抱着学习和踩坑的心态,手动添加了以上内容,然后再添加头文件,进行编译。(一般笔者会先建立文件结构,然后添加头文件后进行编译,如果没问题的话,再编写内容,若在编译的过程中报错,就证明是代码写的有问题)然后就报了一个ERROR,即上面所描述的No such file or directory,笔者在添加其他的组件时,也曾遇到过这样的问题,在组件的CMakelists里指定系统组件的路径即可编译通过,然后检查CMakelists,内容如下

idf_component_register(SRCS "bsp_blu_fi.c" 
                        INCLUDE_DIRS "include"
                        REQUIRES nvs_flash 
                                 esp_event 
                                 esp_wifi 
                                 wpa_supplicant 
                                 bt
                        )

#       PRIV_REQUIRES   该参数指定对其他自定义组件的依赖,即私有依赖项
#       REQUIRES        该参数指定对系统组件的依赖,即公共依赖项 
#
#       假设 esp_wpa2.h 在components/wpa_supplicant/esp_supplicant/include下,则
#                       REQUIRES里面只需要添加 wpa_supplicant即可

因为要用到蓝牙组件,esp_bt.h,通过查找路径可得知esp_bt.h在componentsbt\include\esp32\include下面,遂在REQUIRES里添加bt变量,但是死活还是不通过,各种尝试还是不行,最后对比原工程的源码进行分析,在sdkconfig里发现bt没有使能。最后执行idf.py menuconfig
Component config -->Bluetooth Enable
在这里插入图片描述
再次对项目进行编译,项目编译通过

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值