There are multiple reasons for this error.
One of the reason where i encountered this error is while building for linux and windows.
I have a filename with caps BaseClass.h SubClass.h Unix maintains has case-sensitive filenaming convention and windows is case-insensitive.
C++ why people don't use uppercase in name of header files?
Try compiling clean build using gmake clean if you are using gmake
Some text editors has default settings to ignore case-sensitive filenames. This could also lead to the same error.