"No such file or directory"

I have down-loaded and un-zipped Arduino 1.6.5-r5 to C:Program Files-A86. In the resulting /Arduino/libraries folder I have un-zipped an application into the .../libraries/SixDOF folder. Inside that folder is a "SixDOF_Example" file that, when run, fails because "No such file or directory can be found" for "FreeSixIMU.h". "FreeSixIMU.h" is an #include file in "SixDOF_Example". "FreeSixIMU.h" as well as two other #include files are in the .../SixDOF/FreeSixIMU directory.

Question: Where does Arduino look for #include files? Isn't one sub-directory close enough?


The compiler has two ways it looks for include files;

#include <ReadThisFile.h>

which causes the compiler to look in the default include path for the header file. This form:

#include “ReadThisFile.h”

causes the compiler to looking in the current working directory for the header file. If it’s not found there, it will look in the default include path. If you look at the Preferences dialog (e.g., File → Preferences), near the bottom it will tell you where your actual preferences.txt file is stored. You can read that file to determine the default include path.

That said, does the directory name you have the new library in the libraries directory match the name of the header file? In other words, you should see something like:

C:Program Files-A86/libraries/FreeSixIMU/

Is that what you see?