Как программировать на C++11 с помощью Qt5?

Я готовлюсь программировать кроссплатформенный проект -с моим другом. Мы решили использовать Qt и gcc в качестве нашей IDE и набора инструментов соответственно. Он работает на Linux, я работаю на Windows.

Однако gcc в Linux не обязательно является gcc в Windows. В частности, Qt в Windows устанавливает mingw с gcc 4.4, а у моего друга gcc 4.7. Поэтому я попытался получить более новую версию gcc для Windows.

Моя текущая версия Qt — 5, и я использую gcc 4.7, загруженный и установленный с этого сайта :http://www.equation.com/servlet/equation.cmd?fa=fortran

. Я установил его в C :\QtSDK\mingw и просто переписал все файлы, существующие при установке Qt. Я решил, что мне не придется ничего перенастраивать в Qt, если я просто выберу короткий путь.

Однако даже при использовании флагов компилятора:

QMAKE_CXXFLAGS += -std=c++0x (Qt 4.7)

и

CONFIG   += c++11 (Qt5)

IDE или набор инструментов не могут скомпилировать простой диапазон -на основе цикла for:

int main(int argc, char *argv[])
{
    int my_array[5] = {1, 2, 3, 4, 5};
    for (auto x : my_array)
        std::cout << x << std::endl;

    return 0;
}

или инициализатор -перечисляет:

int main(int argc, char *argv[])
{
    QVector testsData { 1, 2, 10, 42, 50, 123  };
    QStringList options = { QLatin1String("foo"), QLatin1String("bar")  };

    return 0;
}

Однако, глядя на детали реализации gcc 4.7, обе эти функции -и другие -должны быть легко доступны.

Кто-нибудь еще пытался использовать gcc и Qt для Windows? Если да, то как вы заставили его работать? Я хотел бы использовать решение с использованием gcc 4.6 или 4.7, но соглашусь на меньшее, если это вообще невозможно.

В качестве альтернативы, существует ли среда разработки для Linux и Windows, в которой используются функции С++ 11? Я бы также согласился на что-то помимо Qt, если бы оно просто работало...

Я использовал исходники:

C++0x в Qt (Qt 4.7 -4.8)

С++ 11 в Qt5

16
задан IAE 17 June 2012 в 09:57
поделиться