Wie man ESP-IDF fatalen Fehler behebt: nvs_flash.h: No such file or directory

Problem

Beim Erstellen eines ESP-IDF-Projekts können Sie den folgenden Fehler antreffen:

main.cpp
/home/user/MyProject/main/main.cpp:6:10: fatal error: nvs_flash.h: No such file or directory
    6 | #include <nvs_flash.h>
      |          ^~~~~~~~~~~~~
compilation terminated.

Lösung

Sie müssen sicherstellen, dass die nvs_flash-Komponente in Ihrem Projekt enthalten ist. Dies kann durch Modifizieren Ihrer main/CMakeLists.txt-Datei erfolgen, um die nvs_flash-Komponente als Abhängigkeit einzuschließen.

Sie können dies tun, indem Sie die Zeile REQUIRES nvs_flash in Ihrer idf_component_register-Funktion hinzufügen. So modifizieren Sie Ihre main/CMakeLists.txt-Datei:

idf_component_register_nvs_flash.cmake
idf_component_register(
  SRCS "main.cpp"
  INCLUDE_DIRS "../include"
  REQUIRES nvs_flash
)

Check out similar posts by category: ESP-IDF, ESP32