编译器没找到 esp_http_client.h,
这个错误说明编译器没找到 esp_http_client.h
,通常是因为没把 HTTP 客户端组件加到你的工程依赖里。解决方法是:
确认 IDF 版本和组件可用
esp_http_client
自 ESP‑IDF v4.0 起就内置了,只要没手动删,默认都在。
修改 CMakeLists.txt(推荐)
在你的main/CMakeLists.txt
(或对应 component 的 CMakeLists)里,把esp_http_client
加到REQUIRES
(或COMPONENT_REQUIRES
)列表:idf_component_register(SRCS "network.c" # 你的源文件INCLUDE_DIRS "." # 头文件搜索路径REQUIRESesp_http_client # <-- 加这一行esp_tls # 如果你要用 HTTPS 也加上lwip # 如果你用到底层 socket )
然后重新运行
idf.py build
。如果你用的是老的 Makefile 工程
在项目根目录下的components.mk
(或 Makefile)里,找到类似COMPONENTS := driver freertos vfs spi_flash
把
esp_http_client
加进去:COMPONENTS := driver freertos vfs spi_flash esp_http_client
检查引用方式
在代码中用#include "esp_http_client.h"
而不是其他拼写或路径。
完成以上改动后,IDF 会自动把 HTTP 客户端的 include 目录和库文件都加进来,你就能够正常编译并使用 esp_http_client_*
API 了。