Private library scope?

Just starting out with platformio and have run into an issue. I have a small local library that I use and when I move it into the private lib directory for my project, platformio seems to not find it.
Everything is fine when I put the mylib.h and mylib.cpp files in the main src directory, but once I move it out to lib/mylib/ and update the include to <mylib.h> I get the following error:

'function_from_mylib' was not declared in this scope

The strange thing is I have two other private libraries in lib/ that don’t seem to have the same issue…

See README.txt in lib folder. It has an answer.

I saw that, that’s what I based the existing structure off of, am I maybe missing something?
Here is what my current lib structure looks like:

|  |--Base64
|  |  |- Base64.cpp
|  |  |- Base64.h
|  |--NTP
|  |  |- NTP.cpp
|  |  |- NTP.h
|  |--sha256
|  |  |- sha256.cpp
|  |  |- sha256.h
|  |- readme.txt
|- platformio.ini
   |- main.cpp

And what is inside of main.cpp

#include <Base64.h>
#include <sha256.h>
#include <NTP.h>

The Base64 lib is the one not being picked up for some reason.

Please provide test project to reproduce this issue.

This is a problem of a library that you use. See

Ha! that was it. I changed the library name and it works. I guess “Base64” might be a reserved word or something?

Did you rename a file or class in library?

I renamed it all. I went from

|  |--Base64
|  |  |- Base64.cpp
|  |  |- Base64.h


|  |--b64
|  |  |- b64.cpp
|  |  |- b64.h

and poof! it worked.

Did you touch library internal code?

Aside from updating the name for the header file in the *.cpp file, no, the code is the same. You can see the diff here: