Multiple definition of ...

No, that’s not true.

It’s using GCC which, like the VS6 compiler, can do both ‘C’ and C++.
It should be automatically assuming that .c files are to be compiled as ANSI ‘C’

This is a known bug: Dependencies not generated properly

Doing a ‘Clean’ will rebuild using the modified files (be sure that the changes have been saved!)

No, that has never been the case!