Libraries again- yes, again

I’m trying not to bother you with stuff I should have learned. I don’t know the fundamentals, because I started in the middle.

But this one takes the cake:
LDF: Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF Modes: Finder ~ chain, Compatibility ~ soft
Library Manager: Installing git+
git version
Cloning into ‘C:\Users\joema.platformio.cache\tmp\pkg-installing-hy9h7nxz’…
Library Manager: Adafruit GFX Library @ 1.10.2+sha.1459233 has been installed!

and then:
Compiling .pio\build\esp12e\libf0d\SPI\SPI.cpp.o
Compiling .pio\build\esp12e\libde3\Adafruit BusIO@src-1c59a2908cd7e8f991f92381d560d371\Adafruit_BusIO_Register.cpp.o
src\main.cpp:16:60: fatal error: adafruit/Adafruit_GFX.h: No such file or directory
#include “adafruit/Adafruit_GFX.h” // Core graphics library

I keep bugging out about libraries, because there’s something wrong with it.



The library name you use in lib_deps requires “adafruit/” to ensure uniqueness across all libraries, since PlatformIO version 5.0.0.

The header filename does not use the “adafruit/” part.

Begin rant:

The Arduino IDE has fscked up so many beginners who now think that a library name is just a header file. They are not the same!

End rant.

No, you are doing it wrong, then when what you are doing wrong is pointed iut, you do it right, once, then go back to doing it wrong in the next sketch.

Slow down, think, read and understand what you are being advised, don’t have hundreds of sketcges/postings/projects all going on at the same time, concentrate on one (or just a few).

Your mantra for this week is A library name is not its include filename no matter what the Arduino IDE has you thinking! :wink:


No- I’m un-learning something I learned here.
So this is the thing:

lib_deps =

There’s nothing to unlearn, however, I’m puzzled because I can’t find a posting where anyone advised you to include the library distributer’s name in the #include. Can you please point me at one so that it can be corrected - thanks.

In summary:

  • In platformio.ini:
     lib_deps =
         adafruit/Adafruit GFX Library @ ^1.10.2
  • In your source code:
    #include "Adafruit_GFX.h"

How do I know?

  • I went to PlatformIO Registry and searched fro “GFX”;

  • The first result was the Adafruit GFX;

  • I opened that library by clicking it’s name;

  • I clicked on the “Installation” tab;

  • I looked at the example platformio.ini text, and copied the “recommended” option - you can see it above in my example;

  • I then clicked on the “Headers” tab;

  • I see a lot of header files listed, but your’s is complaining about the GFX one;

  • I copied the filename “Adafruit_GFX.h” which is the correct one.

You will notice that the documentation, for the actual library, doesn’t state that you should use a header file named “adafruit/Adafruit_GFX.h” - so please don’t do this.

The above process can be followed anytime you need a library and need to know what to put in lib_deps and which header file(s) you can use in your source code.

Nothing else matters, follow the docs!

Take care.


It’s not fair for me to let you read do my homework, but I don’t really know how to look for the documents. I dig for a lot of stuff, and I’m scientific and iterative. But as far as PlatforIO goes, angels drop stuff from on high for me to find.

That is unusual. I have a MS Ed, but I can’t write myself a curriculum. I need the upperclassmen to tell me what to do, and I look forward to being the guy who helps.

What’s not unusual is my elbows and the process tangling. I’m kinda famous for that.

Who said life is faiir? It’s not!

I’m happy to help. What do you need to know? We are a community here so people help out where they can.

I have a UK National Computing Centre “Threshold” certificate, a Scottish National Certificate in Computer DP plus a Scottish Higher National Diploma, with distinction, in Computer DP, 40 plus years in IT either developing or Support (including databases) and I still cannot type without looking at the keyboard. Hence my many spelling errors!

So, let me know what you need to know and I’ll bash out a reply with my two fingered typing skills! Start with the basics.