如何修复 ESP-IDF 错误: cannot convert 'esp_interface_t' to 'wifi_interface_t'

问题:

尝试编译使用类似代码的 ESP-IDF 应用时

esp_wifi_set_config_error.cpp
ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));

你看到类似这样的错误消息

espidf_error_build_output.txt
src/main.cpp:76:41: error: cannot convert 'esp_interface_t' to 'wifi_interface_t'
    76 |     ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config));
         |                                         ^~~~~~~~~~~~~~~
         |                                         |
         |                                         esp_interface_t

解决方案

使用 WIFI_IF_STA(具有正确的类型)代替 ESP_IF_WIFI_STA

esp_wifi_set_config_fix.cpp
ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));

Check out similar posts by category: C/C++, ESP8266/ESP32