cc1plus: ошибка: нераспознанный параметр командной строки "- std=c++11 " с g++



Я пытаюсь скомпилировать с помощью g++ и -std=c++11 или c++0x флаги.



однако, я получаю эту ошибку



cc1plus: error: unrecognized command line option "-std=c++11"


g++ --version



g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
896   4  

4 ответов:

видя из вашей версии G++, вам нужно обновить его плохо. C++11 был доступен только с G++ 4.3. Самая последняя версия-4.7.

в версиях pre-G++ 4.7, вам придется использовать -std=c++0x, для более поздних версий, которые вы можете использовать -std=c++11.

слово сайт gcc:

функции C++11 доступны как часть компилятора GCC "mainline" в магистрали репозитория Subversion GCC и в GCC 4.3 и более поздних версиях. Чтобы включить поддержку C++0x, добавьте параметр командной строки-std=c++0x в командную строку g++. Или, чтобы включить расширения GNU в дополнение к расширениям C++0x, добавьте -std=gnu++0x в командную строку g++. Поддержка GCC 4.7 и более поздних версий-std=c++11 и-std=gnu++11 as что ж.

Так что, вероятно, вы используете версию g++ , которая не поддерживает -std=c++11. Попробуй -std=c++0x вместо.

доступность функций C++11 доступна только для версий >= 4.3.

вы должны попробовать это

g++-4.4 -std=c++0x or g++-4.7 -std=c++0x

Я также получил ту же ошибку, компиляция с флагом-D исправлена, попробуйте это:

g++ - Dstd=c++11

Comments

    Ничего не найдено.