FAQ по Qt

Объявление класса-наследника QObject в main.cpp(или любом другом *.cpp файле).

Так делать не стоит. QMake по умолчанию не делает moc файлов для файлов исходников(*.cpp). Лучше вынесите данный класс в отдельный заголовочный файл(*.h).

Если вы всё же хотите запустить подобную программу, то, к примеру, следует в конце main.cpp записать

и сделать "Сборка -> qmake". После этого можно собирать и запускать программу.