# 有大佬用过ESP-WHO人脸识别吗？我用官方的例程，SDK无法配置，无法编译，所有头文件找不到

**URL:** <https://bbs.eeclub.top/t/topic/159>\
**Category:** 基础问答 / Basic Q&A\
**Created:** [2025 年11 月 3 日 09:06 UTC](https://bbs.eeclub.top/t/topic/159 "2025-11-03T09:06:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

作者： ![小聪同学](https://bbs.eeclub.top/user_avatar/bbs.eeclub.top/%E5%B0%8F%E8%81%AA%E5%90%8C%E5%AD%A6/32/590_2.png) [@小聪同学](https://bbs.eeclub.top/u/%E5%B0%8F%E8%81%AA%E5%90%8C%E5%AD%A6)\
发布日期： [2025 年11 月 3 日 09:06 UTC](https://bbs.eeclub.top/t/topic/159/1 "2025-11-03T09:06:36Z")

</div>

有大佬用过espwho人脸识别吗？我的idf版本是5.5.1 用的是官方的例程，SDK无法配置，无法编译，所有头文件找不到。

SDK配置失败提示：

 ![b1ed46f42317cf35784a680ca01ba96f](https://s3.eeclub.top/original/1X/670c0f6226f1d787aab97f464a30aece8dccb58c.png)

编译错误提示：

 ![9419b60f218a7158fa7cba0d47f2e0a2_720](https://s3.eeclub.top/original/1X/1bea8890533a98695174db729bb4df15f4f06b02.png)

官方仓库如下：  
GitHub - espressif/esp-who: Face detection and recognition framework  
GitHub - espressif/esp-dl: Espressif deep-learning library for AIoT applications

我是跟着 [https://blog.csdn.net/qq\_37429313/article/details/121531716](https://blog.csdn.net/qq_37429313/article/details/121531716) 步骤来的，可是依旧无法编译，

 ![f2bb7a2571de0dbe7d51feff5f6b7e63_720](https://s3.eeclub.top/original/1X/a1a8446b8fe6718157bce75c2c4a6a1cb78ac612.jpeg)

 ![6cf2182b99720373139ebb0c30dcfdac_720](https://s3.eeclub.top/original/1X/0575824fdbec1ef4fa19a735a1c5f86a51411e74.png)

搜了一圈这个who资料太少且留言大部分人出现的情况与我相似，有知道的大佬如何解决的吗？

---

<div class="post-metadata">

作者： ![ABC](https://bbs.eeclub.top/user_avatar/bbs.eeclub.top/abc/32/101_2.png) [@ABC](https://bbs.eeclub.top/u/ABC)\
发布日期： [2025 年11 月 3 日 09:07 UTC](https://bbs.eeclub.top/t/topic/159/2 "2025-11-03T09:07:37Z")

</div>

要解决ESP-WHO在ESP-IDF 5.5.1下的配置和编译问题，需从 **环境变量、依赖初始化、组件配置** 三个核心维度入手，以下是分步解决方案：

### 步骤1：初始化ESP-WHO的子模块依赖

ESP-WHO依赖`esp-dl`等子模块，需先确保这些依赖被正确拉取。打开终端，进入`esp-who-master`目录，执行以下命令：

```bash
git submodule update --init --recursive

```

### 步骤2：配置`IDF_EXTRA_ACTIONS_PATH`环境变量

错误提示中“`IDF_EXTRA_ACTIONS_PATH`未正确设置”是关键。该变量需指向ESP-WHO的`bsp`目录（板级支持包路径）。

- **Windows系统设置方法** ：
  1. 找到你的`esp-who-master`路径（如`C:\Users\49864\Desktop\esp-who-master`），其`bsp`目录的完整路径为`C:\Users\49864\Desktop\esp-who-master\bsp`。
  2. 打开 **系统环境变量设置** （右键“此电脑”→“属性”→“高级系统设置”→“环境变量”）。
  3. 在“用户变量”或“系统变量”中，新增变量：
    - 变量名：`IDF_EXTRA_ACTIONS_PATH`
    - 变量值：`C:\Users\49864\Desktop\esp-who-master\bsp`（替换为你的实际路径）。

  4. 重启VSCode，使环境变量生效。

### 步骤3：确保ESP-IDF环境正确加载

VSCode中需通过ESP-IDF扩展的“命令面板”加载环境：

1. 按`Ctrl+Shift+P`打开命令面板，输入“ESP-IDF: Show Examples Projects”，确认能正常识别ESP-IDF路径。
2. 打开项目终端时，需通过“ESP-IDF: New Terminal”启动，确保IDF环境变量（如`IDF_PATH`）已正确加载。

### 步骤4：检查CMakeLists.txt与组件注册

ESP-WHO的例程需正确注册组件和头文件路径。以`human_face_recognition`为例，检查其`CMakeLists.txt`：

- 确保通过`idf_component_register`包含必要的组件和头文件，例如：

```cmake
idf_component_register(
    SRCS "app_main.cpp" "frame_cap_pipeline.cpp"
    INCLUDE_DIRS "."
    REQUIRES esp_who esp_camera esp_dl # 按需添加依赖组件
)

```

### 步骤5：清理并重新构建项目

删除`build`目录，重新执行构建流程：

```bash
idf.py fullclean
idf.py set-target esp32 # 替换为你的目标芯片（如esp32s3）
idf.py build

```

### 额外注意：版本兼容性

若上述步骤仍未解决，需确认ESP-WHO对ESP-IDF 5.5.1的兼容性。可查看ESP-WHO的[README](https://github.com/espressif/esp-who#requirements)或GitHub Issues，若官方支持版本低于5.5.1，可尝试 **降级ESP-IDF** 到兼容版本（如5.0或4.4），再重复上述配置流程。

按照以上步骤操作后，应能解决“SDK配置失败”和“头文件找不到”的问题。若仍有报错，可进一步检查`c_cpp_properties.json`的`includePath`和`browse.path`是否包含ESP-WHO的头文件目录，或在ESP-WHO的GitHub仓库提Issue向官方咨询。
