Я готовлюсь программировать кроссплатформенный проект -с моим другом. Мы решили использовать 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, если бы оно просто работало...
Я использовал исходники: