Добавить постоянную опцию компилятора в g++

Я использую g++ 4.7 в Ubuntu 12.04 для компиляции моего кода на C++, и он не будет скомпилирован, если в мою команду не добавлена ​​опция -std=gnu++11, например:

g++ -std=gnu++11 main.cpp

Есть ли способ добавить эту опцию навсегда в компилятор, потому что мой текстовый редактор использует g ++ для автоматической компиляции моего кода, и это не сработает, потому что мне нужно добавить эту опцию, и я не могу добавить ее, как это обычно делается внутри терминала?

Я видел, что люди используют какой-то spec-файл для настройки g ++, но я не понимаю, как это сделать, поэтому помощь от вас, ребята, будет оценена.

2 ответа

Решение

Я бы просто создал скрипт оболочки ~/bin/g++ содержащие строки

#!/bin/sh
exec /usr/bin/g++ -std=gnu++11 "$@"

и убедитесь, что ~/bin на PATHи перечислены там перед любым другим каталогом, который содержит g++ исполняемый (обычно это /usr/bin). Редактирование файлов спецификаций возможно, но для того, чтобы ваши настройки стали настройками по умолчанию, я полагаю, вам придется изменить спецификации по умолчанию, что означает, что для этого потребуются права суперпользователя и серьезные изменения с внутренними компонентами gcc. Существует высокая вероятность того, что эта обработка будет отменена при следующем обновлении g++.

Если вы используете Windows 10 и хотите использоватьg++ -std=c++17 <filename>Чтобы скомпилировать файл C++ по стандарту C++17 Standard, вы можете просто создать сценарий bash(shell) и назвать его .

Содержимое файлаrun.shкак предложено @MvG:

      #!/bin/sh
exec g++ -std=gnu++17 "$@"

Теперь в командной строке введите

      ./run.sh <filename>

и его надо скомпилировать :)

Примечание. Возможно, вам придется установить git (bash) в Windows и добавить его в PATH (это можно легко сделать, добавив путь к папке bin в установленной папке git в переменной системной среды).

Другие вопросы по тегам