Strange case sensitivity in include files...

If I do this:

#include <MakeBlock.h>
#include <SoftwareSerial.h>
#include <Wire.h>

the compiler cannot find MakeBlock.h. But it does find Makeblock.h.

Ok I thought, so all includes are case sensitive. But to test this I changed SoftwareSerial.h to softwareserial.h …

#include <Makeblock.h>
#include <softwareserial.h>
#include <wire.h>

and this compiled ok.

So my question is why are some includes case sensitive and others not? And what is the rule?

It has taken me hours to find the Makeblock error… hence this question

User contributed libraries need to be in a folder with [u]exactly[/u] the same name as the .h and .cpp files. Where is the Makeblock library installed on your system ?

I can't remember because I've installed a later version now. But thanks for the info. So the directory and the .h file have to match exactly, but only in third party libraries?