Difficulties with raw string literals
Unlike other more "normal" build systems, the Arduino IDE doesn't compile the files in the project directory.

Instead it loads all the files with certain extensions into the IDE, each in its own tab. When you press the compile button it then writes the contents of each of those tabs to files in a temporary build folder and then compiles there.

Because of that only files with certain extensions ever get placed in the build folder. Those include:


.pde and .ino for sketch files
.c and .cpp for C and C++ source
.h for headers
.S for assembly source.


There may be a few others as well but those are the main ones. Things like text files aren't considered source files and thus aren't ever seen by the IDE.