Как использовать C ++ 11 с g ++?

17

В настоящее время я набираю весь свой код в gedit и использую терминал для компиляции моих программ. Для этого я печатаю:

$ g++ main.cpp -o main
$ ./main

И это работает. Однако он не использует C ++ 11. Как я могу проверить свою версию C ++, а также скомпилировать через терминал с помощью C ++ 11?

    
задан dhaneku.b 16.05.2016 в 18:14
источник

1 ответ

50

Это можно сделать, используя флаг -std=c++11 . Вот пример:

g++ -std=c++11 -Wall -Wextra -Werror main.cpp -o main

Этот режим можно выбрать с помощью флага командной строки -std=c++11 или -std=gnu++11 , чтобы включить расширения GNU. ( источник )

См. объяснение других флагов ниже. Я глубоко убежден, что использование, по крайней мере, этих флагов ошибок облегчит вашу жизнь в долгосрочной перспективе. Как только вы узнаете, что делает ваш скрипт, вы можете опустить предупреждения, если это необходимо для достижения результата, но это не должно быть стандартом. Надеюсь, это поможет вам. Вот хорошее место , чтобы начать читать.

  • -Wall - включает все основные предупреждения.
  • -Wextra - позволяет другие важные предупреждения.
  • -Werror - делать все предупреждения в ошибках, вызывать компиляции с ошибкой , если сообщается о любых предупреждениях.

Источники:

  1. GCC: сводка параметров
  2. GCC: параметры запроса или подавления предупреждений
ответ дан Videonauth 16.05.2016 в 18:27
источник