Aplicación de consola Qt "ADVERTENCIA: QApplication no se creó en el hilo principal ()"

Estoy creando una aplicación de consola C ++ QT muy simple a partir de un ejemplo dado aquí en el desbordamiento de pila.

Cómo usar QFileSystemWatcher para monitorear una carpeta para el cambio

El código es exactamente como el código en esa aplicación y estoy desarrollando con la interfaz de usuario de Qt, Qt Creator con MinGW de 32 bits. Seleccioné la aplicación de consola de los proyectos que podría elegir ya que no necesito una interfaz gráfica de usuario. Una vez que la aplicación ha terminado de cargarse, la aplicación muestra el mensaje de error "ADVERTENCIA: QApplication no se creó en el hilo principal ()" y luego no hace nada.

He intentado la depuración de la aplicación, pero no obtuve ningún punto de interrupción, no creo que la depuración esté funcionando en el editor.

Fui rápido y cambié la QApplication a una QCoreApplication vista cuando estoy desarrollando una aplicación de consola, pero aparece el mismo mensaje de error.

filesystemreceiver.h

#ifndef FILESYSTEMRECEIVER_H
#define FILESYSTEMRECEIVER_H

#include <iostream>

using namespace std;

#include <QtCore/QApplication>
#include <QtCore/QFileSystemWatcher>
#include <QtCore/QDebug>
#include <QtWidgets/QWidget>
#include <QtWidgets/QMessageBox>

class MyClass : public QWidget
{
    Q_OBJECT
public:
    MyClass(QWidget* parent=0)
        :QWidget(parent){}

    ~MyClass() {}
public slots:
    void showModified(const QString& str)
    {
        Q_UNUSED(str)
        cout << "A message has been received!" << endl;
        //QMessageBox::information(this,"Directory Modified", "Your Directory is modified");
    }
};

#endif // FILESYSTEMRECEIVER_H

main.cpp

#include <iostream>

using namespace std;

#include <QtCore/QApplication>
#include <QtCore/QFileSystemWatcher>
#include <QtCore/QDebug>
#include <QtWidgets/QWidget>
#include <QtWidgets/QMessageBox>

#include "fileSystemReceiver.h"

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
    QFileSystemWatcher watcher;
    watcher.addPath("C:/QtTest");

    QStringList directoryList = watcher.directories();
    Q_FOREACH(QString directory, directoryList)
              qDebug() << "Directory name" << directory <<"\n";

    MyClass* mc = new MyClass;

    QObject::connect(&watcher, SIGNAL(directoryChanged(QString)), mc, SLOT(showModified(QString)));

    return app.exec();
}

Mi archivo pro se ve así:

QT       += core
QT       += widgets

QT       -= gui

TARGET   =  fsw
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

HEADERS += fileSystemReceiver.h

SOURCES  += \
    main.cpp

Respuestas a la pregunta(1)

Su respuesta a la pregunta