VS Code环境下使用ESP-IDF如何添加项目所需依赖库
VS Code 中 ESP-IDF 项目添加依赖库操作方法
分两类场景操作,覆盖官方组件和本地第三方库两种情况,你要加的两个库按需对应操作即可:
方法1:添加ESP-IDF官方组件仓库的公开库
这类库是官方维护、适配对应ESP-IDF版本的,不用手动改配置,操作效率最高:
- 打开你的目标项目,在VS Code底部调出ESP-IDF自带的终端(不要用系统原生终端,缺少ESP-IDF环境变量会执行失败)
- 按顺序执行依赖添加命令,格式为
idf.py add-dependency "组件作者/组件名",如果需要指定版本就在后面加^版本号,不指定就默认拉取适配你当前框架版本的最新稳定版。比如要加官方MQTT库和按键驱动库,就分别执行:idf.py add-dependency "espressif/mqtt" idf.py add-dependency "espressif/button" - 命令执行完跑一次
idf.py reconfigure,框架会自动把依赖下载到项目的managed_components目录,之后直接在代码里#include对应头文件就能调用,不用手动配置头文件路径。
方法2:添加本地第三方库/自定义私有库
如果是网上找的开源驱动、自己之前封装的功能库,按下面步骤添加:
- 在项目根目录新建
components文件夹(已经存在就不用重复创建),把你要用的两个库的完整文件夹拷进去,注意文件夹名不要带中文、空格,后续组件名就和文件夹名保持一致。 - 打开每个库对应的文件夹,检查根目录下有没有
CMakeLists.txt文件,没有就新建,里面写对应组件注册配置,格式参考:
路径都写库文件夹内的相对路径,不要写磁盘绝对路径。idf_component_register( SRCS "src/oled.c" "src/oled_font.c" # 把库用到的所有.c源文件路径列在这里,用空格分隔 INCLUDE_DIRS "include" # 填库存放.h头文件的目录路径 ) - 回到项目根目录,打开
main文件夹下的CMakeLists.txt,找到idf_component_register配置段,在REQUIRES后面加上你刚拷进去的两个库的文件夹名,比如原来的配置是:
加了oled、bmp280两个库之后改成:idf_component_register(SRCS "main.c" INCLUDE_DIRS ".")idf_component_register(SRCS "main.c" INCLUDE_DIRS "." REQUIRES oled bmp280) - 最后执行一次
idf.py reconfigure,终端没报依赖找不到、路径错误的提示,就可以正常在代码里调用库的接口了。
常见报错排查:如果编译时提示找不到头文件,先检查库的CMakeLists里写的INCLUDE_DIRS路径和实际头文件存放位置是否匹配,再检查main目录下的REQUIRES字段有没有把两个库的名字都写上,不要出现拼写错误。
内容的提问来源于stack exchange,提问作者Pedro Henrique Peres da Silva
相关产品推荐
相关产品推荐

