Добавить постоянную опцию компилятора в 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 в переменной системной среды).