main.c

Проблема набившая оскомину. Суть в том, что когда вы собираете большой проект из исходников (из разных каталогов подпроектов) вы можете подцепить другой main.c файл из другого подключаемого каталога.

Например у вас целый набор подключаемых (include) файлов *.pri. 

Таким образом надо взять за правило в каталогах этих подпроектов не держать main.c файлы.

Как бы исходники отдельно, а запускаемые программы (для их тестирования) отдельно.