Я собираюсь запрограммировать кросс-платформенный проект с моим другом. Мы решили использовать Qt и gcc как нашу среду IDE и toolchain соответственно. Он работает в 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 или инструментальная цепочка не могут скомпилировать простой цикл для цикла:
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<int> 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, если он просто работает...
Я использовал источники: