Ok, so I am wondering why the bloody heck I'm getting messages like main.o:x:y: error: stray '\1' in program and related errors * near infinity whilst nitting object files into an executable .
Note to self: never allow your Makefile to say g++ -x c++ foo.o ... -o program !!!!
I don't know what is worse....
(EDIT: actually this reminds me, a friend said it sounded like an encoding error; and in retrospec it looks like GCC was interpreting main.o as a C++ file because of the -x flag lol)