Como corrigir erro fatal do ESP-IDF: cJSON.h: No such file or directory

Problema

Ao compilar um projeto ESP-IDF, você pode encontrar o seguinte erro:

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

Solução

Você precisa garantir que o componente json esteja incluído em seu projeto. Isso pode ser feito modificando seu arquivo main/CMakeLists.txt para incluir o componente json como uma dependência.

Você pode fazer isso adicionando a linha REQUIRES json em sua função idf_component_register. Veja como modificar seu arquivo main/CMakeLists.txt:

idf_component_register_json.cmake
idf_component_register(
  SRCS "main.cpp"
  INCLUDE_DIRS "..\include"
  REQUIRES json
)

Check out similar posts by category: ESP-IDF ESP32