Во многих случаях эта ошибка связана с тем, что QMake просто помещает все объектные файлы в плоскую папку в каталоге сборки, что приводит к проблемам, если два исходных файла имеют одинаковые имена, даже если они могут находиться в разных папках.,Например,
SOURCES += foo.cpp
SOURCES += bar.cpp
SOURCES += bla/foo.cpp
SOURCES += bla/bar.cpp
В этом случае QMake будет жаловаться как на foo.o, так и на bar.o.
Решение этой проблемы состоит в добавлении
CONFIG += object_parallel_to_source
в файл .pro, который заставит папку сборки отражать иерархию папок исходного дерева.Не уверен, почему это не по умолчанию.
Проблема и решение были ранее указаны здесь , но не в контексте предупреждающего сообщения, обсуждаемого в этой теме.