小聪同学
1
有大佬用过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资料太少且留言大部分人出现的情况与我相似,有知道的大佬如何解决的吗?
ABC
2
要解决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系统设置方法:
- 找到你的
esp-who-master路径(如C:\Users\49864\Desktop\esp-who-master),其bsp目录的完整路径为C:\Users\49864\Desktop\esp-who-master\bsp。
- 打开系统环境变量设置(右键“此电脑”→“属性”→“高级系统设置”→“环境变量”)。
- 在“用户变量”或“系统变量”中,新增变量:
- 变量名:
IDF_EXTRA_ACTIONS_PATH
- 变量值:
C:\Users\49864\Desktop\esp-who-master\bsp(替换为你的实际路径)。
- 重启VSCode,使环境变量生效。
步骤3:确保ESP-IDF环境正确加载
VSCode中需通过ESP-IDF扩展的“命令面板”加载环境:
- 按
Ctrl+Shift+P打开命令面板,输入“ESP-IDF: Show Examples Projects”,确认能正常识别ESP-IDF路径。
- 打开项目终端时,需通过“ESP-IDF: New Terminal”启动,确保IDF环境变量(如
IDF_PATH)已正确加载。
步骤4:检查CMakeLists.txt与组件注册
ESP-WHO的例程需正确注册组件和头文件路径。以human_face_recognition为例,检查其CMakeLists.txt:
步骤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.json的includePath和browse.path是否包含ESP-WHO的头文件目录,或在ESP-WHO的GitHub仓库提Issue向官方咨询。