g ++ - como usar -std = c ++ 14 ser padrão?

1

Eu quero que g + + use -std = c + + 14 por padrão sem ter que digitar todas as vezes. Como eu faria isso?

    
por Xan Nava 11.09.2016 / 22:35

2 respostas

2

colocar:

alias g++='g++ -std=c++14'

no seu perfil (ou talvez .bashrc ). Na próxima vez que você efetuar login (ou iniciar um novo terminal, com .bashrc ), o comando g++ será executado em g++ -std=c++14 .

Apenas para uma única instância de terminal, basta digitar isso na linha de comando. Isso funcionará na maioria dos casos, mas se você tiver problemas, tente o seguinte.

Se você tiver scripts ou programas que se referem ao caminho literal para o g++ binário (como /usr/bin/g++ ), mova o binário g++ para um novo nome de arquivo, como g++-bin , e escreva um script como este chamado g++ no mesmo diretório:

#! /bin/sh
/usr/bin/g++-bin -std=c++14 "$@"

Isso terá o mesmo resultado final de um alias ( $@ passa todos os argumentos do script pai para o g++ binário), mas fará com que o script seja usado ao se referir ao caminho completo para o compilador. / p>

Certifique-se de tornar o script executável ( chmod 755 ou similar) se você usar esse método.

Esteja ciente também de que seu gerenciador de pacotes irá sobrescrever seu script g ++ quando atualizações g ++ se você colocar o script em /usr/bin (ou o equivalente da sua distro), então você pode querer colocar o script em um diretório diferente de precedência maior sua variável PATH .

Eu pessoalmente criei um diretório em meu diretório home ( ~/bin ) apenas para esse tipo de coisa, e tenho linhas em ~/.profile e ~/.bashrc que prepends $HOME/bin para o início da variável PATH :

PATH="$HOME""/bin:""$PATH"
export PATH
    
por 11.09.2016 / 23:11
0

De acordo com o suporte a padrões C ++ na página do GCC , o C ++ 14 é o padrão para o GCC 6.1 e posterior:

This mode is the default in GCC 6.1 and above; it can be explicitly selected with the -std=c++14 command-line flag, or -std=gnu++14 to enable GNU extensions as well.

Nas distribuições atuais, você não precisa fazer nada. (O GCC 6.1 foi lançado no final de abril de 2016).

    
por 30.08.2018 / 12:08