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

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

SDK配置失败提示:

编译错误提示:

官方仓库如下:
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 步骤来的,可是依旧无法编译,

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

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

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

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

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包含必要的组件和头文件,例如:
    idf_component_register(
        SRCS "app_main.cpp" "frame_cap_pipeline.cpp"
        INCLUDE_DIRS "."
        REQUIRES esp_who esp_camera esp_dl  # 按需添加依赖组件
    )
    

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

删除build目录,重新执行构建流程:

idf.py fullclean
idf.py set-target esp32  # 替换为你的目标芯片(如esp32s3)
idf.py build

额外注意:版本兼容性

若上述步骤仍未解决,需确认ESP-WHO对ESP-IDF 5.5.1的兼容性。可查看ESP-WHO的README或GitHub Issues,若官方支持版本低于5.5.1,可尝试降级ESP-IDF到兼容版本(如5.0或4.4),再重复上述配置流程。

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