Problem:
You are trying to compile your PlatformIO application for the ESP8266 or ESP32 but you’re seeing an error message like
In file included from .pio/libdeps/d1_mini/TFT_eSPI/TFT_eSPI.cpp:17:0: .pio/libdeps/d1_mini/TFT_eSPI/TFT_eSPI.h:32:17: fatal error: SPI.h: No such file or directory ************************************************************* * Looking for SPI.h dependency? Check our library registry! * * CLI > platformio lib search "header:SPI.h" * Web > https://platformio.org/lib/search?query=header:SPI.h * ************************************************************* #include <SPI.h>
This problem is common using the TFT_eSPI
library.
Solution:
First, ensure that your platformio.ini has
framework = arduino
If you’re using a different framework
, SPI.h
won’t be available since it’s a part of the Arduino framework !
Secondly, add this line to your platformio.ini
:
lib_ldf_mode = deep+
and recompile your source code. This will reconfigure the library dependency finder (ldf) to find dependencies of dependency libraries:
Dependency Graph |-- <TFT_eSPI> 2.3.52 | |-- <SPI> 1.0