Как указать флаг С++ 0x на Cent OS

Команда g++ -o myprogram myprogram.c -std=c++0x хорошо работает в Ubuntu, но когда я пытаюсь сделать то же самое с Centos, она выдает ошибку cc1plus: error: unrecognized command line option "-std=c++0x". Даже гугл не дает ответа. Кто-нибудь испытал это раньше? Кто-нибудь знает решение?


person 0x0    schedule 06.09.2010    source источник
comment
Сделайте g++ --version и скажите нам, что там написано.   -  person kwatford    schedule 06.09.2010
comment
у вас старый компилятор, обновите   -  person Anycorn    schedule 06.09.2010
comment
g++ --version говорит g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48). Я попытался установить yum g++/c++, но он ничего не сказал. Как я могу обновить его до g++ 4.4?   -  person 0x0    schedule 06.09.2010


Ответы (2)


Скорее всего, у вас разные версии компилятора в каждой системе, запустите g++ --version, чтобы узнать, какая версия у вас работает в каждой (-std=c++0x поддерживается только с версии 4.4 g++).

person Motti    schedule 06.09.2010
comment
Вы всегда можете загрузить файл TAR и собрать его самостоятельно: gcc.gnu.org/install - person Employed Russian; 07.09.2010

В репозиториях CentOS есть что-то под названием g++44. Yum это, или возьмите его, однако имеет больше смысла для вас.

Затем при сборке используйте g++44... с остальными коммутаторами. Это может помочь, никогда не знаешь.

Если это работает для вас, вы можете удалить g++ и symlink g++44.

person Phil Snelgrove    schedule 23.08.2011