I encountered a puzzling problem when compiling a C++ source file using \'gcc\' on Ubuntu. Having solved the problem I would like to publish it here to save others the head
It turns out I had saved the C++ source file as a UTF-16 Unicode-encoded file, complete with leading Unicode Byte Order Mark (BOM) bytes at the beginning of the file. The file was saved as UTF-16 on a Windows system, committed to a version control system, then checked out to Linux. gcc does support Unicode encoded as UTF-8, but not Unicode encoded as UTF-16.
The solution was to convert the source file back to a standard, non-Unicode encoding.
I had the same problem in compiling a C++
program with a MAKEFILE
.
I found an easy way to get rid of this problem and it is delete the existing binary file from the previous compile.
I could not identify the origin of the problem but That worked for me.