Russian Qt Forum

Программирование => С/C++ => Тема начата: yarick от Январь 03, 2013, 00:12



Название: Стандарт C++11 под Qt Creator не работает
Отправлено: yarick от Январь 03, 2013, 00:12
Я хочу использовать нововведения стандарта С++11 - очень уж хороши auto, списки инициализации и прочее.
У меня установлен QtCreator 2.4.1 и я пользуюсь Qt 4.8
Специально установил самый новый minGW, включающий С++
В командной строке
C:\Users\Ярослав>gcc --version
gcc (GCC) 4.7.2

Т.е. компилятор GCC установлен, и здесь http://gcc.gnu.org/projects/cxx0x.html  (http://gcc.gnu.org/projects/cxx0x.html)заявлено что он поддерживает (большей частью, хоть и экспериментально) c++11

В pro добавил QMAKE_CXXFLAGS="-std=gnu++11"
Однако он выдаёт ошибку
Цитировать
cc1plus.exe: error: unrecognized command line option "-std=gnu++11"

Причём я вручную чистил проект от make-файлов, объектных и прочих, перекомпилировал с чистого pro - всё равно ошибка.
Если заменить на -std=gnu++0x, то выдаёт тонну ошибок типа ошибки сегментации во время компиляции, ошибки в ядре Qt и прочего. Но это не вариант, стандарт с++11 должен поддерживаться...



Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: kambala от Январь 03, 2013, 00:18
кавычки убери. и поставь свежий креатор (на компиляцию это конечно не повлияет, а вот на подсветку кода — да).


Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: Kurles от Январь 03, 2013, 08:46
И Qt еще этим компилятором собери, а то работать не будет с предкомпилленым с сайта.


Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: yarick от Январь 04, 2013, 21:24
Ещё такой вопрос знающим людям - а стоит ли переходить на новый стандарт, не вызовет ли это проблем с переносом программы на Линукс\Мак? Там тоже компилироваться будет без проблем?
И вообще какие проблемы могут возникнуть?


Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: Dancing_on_water от Январь 04, 2013, 21:56
В плане компиляции особых быть не должно.

Список поддерживаемых фич:
clang: http://clang.llvm.org/cxx_status.html
gcc 4.8: http://gcc.gnu.org/gcc-4.8/cxx0x_status.html


Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: Alex Custov от Январь 04, 2013, 23:27
QMAKE_CXXFLAGS += -std=gnu++11


Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: yarick от Январь 05, 2013, 14:21
Действительно, пришлось скачать исходники Qt библиотек и полностью пересобрать, ушло часов 5. И QtCreator тоже был вынужден пересобрать, т.к. он видимо при запуске exe-шника "по зелёной кнопочке" использовал старые библиотеки, а из проводника всё запускалось.
И тогда, добавив опцию QMAKE_CXXFLAGS += -std=gnu++11 дейстительно стали работать плюшки из С++11, которые я хотел. Спасибо. Надеюсь что использование новейшего стандарта плюсов также добавит моему проекту уважение...


Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: p166 от Январь 30, 2014, 12:38
QMAKE_CXXFLAGS += -std=gnu++11

Помогло, спасибо.


Название: Re: Стандарт C++11 под Qt Creator не работает
Отправлено: twp от Январь 30, 2014, 17:47
Вот небольшие статьи по С++11 в Qt:
Для 4.8: http://blog.qt.digia.com/blog/2011/05/26/cpp0x-in-qt/ (http://blog.qt.digia.com/blog/2011/05/26/cpp0x-in-qt/)
Для 5: http://woboq.com/blog/cpp11-in-qt5.html (http://woboq.com/blog/cpp11-in-qt5.html)