Не работает программа на QT

Рейтинг: 0Ответов: 2Опубликовано: 19.01.2015

Всем привет!

Недавно начал учить QT. Установил qt 4.8.4, qt creator 2.6.1 и компилятор MinGW. Сам текст простой программы:

#include <QCoreApplication>
#include <iostream>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    std::cout << "Hello, world!" << std::endl;

    return a.exec();
}

Каким бы компилятором я не пользовался (перепробовал разные версии minGW и даже компилятор от MVS), вылазит одна и та же ошибка:

Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly

Если не использовать либу QCoreApplication, тогда проект компилируется и запускается нормально. Но в таком случае, смысла от QT никакого, по сути.

Что делать, чтобы решить сию проблему?

Ответы

▲ 0Принят

Скорее всего, либо что-то неправильно установилось, либо что-то не доставилось. Не пробовали удалять Qt и ставить заново? Кстати, какая операционка? Я скомпилировал Ваш код используя Qt 4.8.6 и MinGW под windows 7. Все завелось, как и предполагалось.

▲ 0

Hello, World с первым виджетом и debug-выводом. А вообще Qt не признает потоки std.

#include <QApplication>
#include <QLabel>
#include <QtDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    qDebug() << "Hello, World!";
    QLabel* lbl = new QLabel("Hello, World!");
    lbl->show();

    return a.exec();
}

Или же, если хотите использовать std, то в pro-файле необходимо подключить:

CONFIG += console

Но придется везде при выводе писать std::endl, т.е.

#include <QApplication>
#include <iostream>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    std::cout << "Hello, World" << std::endl;

    return a.exec();
}