Thank you so much! Yes, it is indeed the BOM issue that caused the compile problem. Now I have converted the source file into the utf-8 without BOM, and everything is compiled successfully.
Here is my conclusion from this little bug: please make sure that all the source files are prepared in utf-8 WITHOUT BOM.
BTW:
I am always keeping the line endings as the UNIX LF (“\n”), I am not sure whether this is necessary or not.