Comment corriger l'erreur de composant ESP-IDF : #include <driver/...> : No such file or directory

Problème

Lors de la compilation de votre projet ESP-IDF, qui contient un composant personnalisé, vous pourriez rencontrer l’erreur suivante :

QuickI2C.cpp
In file included from /home/uli/myproject/components/QuickI2C/QuickI2C/src/QuickI2C.cpp:1:
/home/uli/myproject/components/QuickI2C/QuickI2C/include/QuickI2C.h:21:10: fatal error: driver/i2c.h: No such file or directory
   21 | #include <driver/i2c.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.

Solution

Modifiez le fichier CMakeLists.txt de votre composant personnalisé et ajoutez l’instruction suivante à l’intérieur de idf_component_register :

component_CMakeLists_snippet.cmake
REQUIRES driver

Exemple CMakeLists.txt

CMakeLists.txt
idf_component_register(SRCS "QuickI2C/src/QuickI2C.cpp"
                    INCLUDE_DIRS "QuickI2C/include"
                    REQUIRES driver)

Consultez les articles similaires par catégorie : ESP32, ESP-IDF, C/C++