отсутствует std :: runtime_error в qt + mingw - PullRequest
18 голосов
/ 01 февраля 2011

Я попытался скомпилировать следующий код, используя Qt (4.6.3) + MinGW:

#include <QtCore/QCoreApplication>
#include <exception>

int main(int argc, char *argv[])
{
    throw std::runtime_error("");

    QCoreApplication a(argc, argv);

    return a.exec();
}

... и получил эту ошибку:

..\untitled11\main.cpp:6: error: 'runtime_error' is not a member of 'std'

Проект созданс нуля (консольное приложение), pro-файл:

QT       += core

QT       -= gui

TARGET = untitled11
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

Пробовал скомпилировать это с помощью компилятора Qt + MSVC2008 - работает нормально.

Это стандартное исключение, понятия не имею, почемуотсутствует.

1 Ответ

50 голосов
/ 01 февраля 2011

<exception> определяет только базовый std::exception класс; если вы хотите дочерние классы, такие как std::runtime_error, вы должны включить заголовок <stdexcept>.

...