Como Instalar o GCC 14 e usar o C++23

Diversos novos recursos como: std::print, std::println e entre outros. O GCC 14 há diversas novas melhorias de usabilidade. Apesar do GCC 15 já está disponível, muitos sistemas ainda não possui disponibilidade nos repositórios dos gerenciadores de pacotes, mas o GCC 14 sim! Como no Ubuntu, por exemplo. Se você só atualiza seu sistema, mas mesmo assim ainda não atualizações disponível, deve ser porque ele ainda não é o padrão, mas você pode instalar e definí-lo como padrão para seu sistema. Vamos ver como fazer isso. Instalação Para instalar, no Ubuntu, por exemplo, basta usar o APT: Antes atualize a lista de repositório: sudo apt update && sudo apt upgrade Agora é só instalar o GCC 14, nesse caso só o g++: sudo apt install g++-14 Pode ser que depois de instalado a versão ainda não esteja atualizada: g++ --version g++-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 Mas, ele já estará disponível através do comando g++-14: g++-14 --version g++-14 (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 Definir como padrão para seu sistema Para torná-lo padrão ao utilizar somente o comando g++, siga esses passos: 1. Adicione o GCC 14 como alternativa: sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100 2. Agora seleciona interativamente: sudo update-alternatives --config g++ Escolha o número relativo ao g++14, geralmente o 2, pode ser que ambos seja o mesmo, mas forçe escolhendo o 2. Após isso agora é só rodar o comando g++ sem especificação: g++ --version g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 Copyright (C) 2024 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. Vantagens de fazer da forma acima em vez de só alterar o link simbólico: Não quebra o sistema. Pode alternar facilmente entre versões. Evita conflitos com o apt/dpkg. Adicionais Se tiver tendo problema com o seu LSP clangd instale também essas bibliotecas para compatibiliadade com o Clang: sudo apt install libstdc++-14-dev libc++-dev libc++abi-dev Testando Se você criar esse código você precisará usar a flag -std=c++23 para conseguir compilar, exemplo: print.cpp #include int main(){ const std::string var{"All"}; std::println("Olá, {}", var); } Compilando: g++ -std=c++23 print.cpp Se quiser acidionar o -std=c++23 como padrão e não percisar invocá-lo ao compilar, você adicionar um alias ao ~/.bashrc, exemplo: Para obter o caminho completo do seu g++ use o comando which, ex.: which c++ echo 'alias g++="/usr/bin/g++ -std=c++23"' >> ~/.bashrc source ~/.bashrc Pronto, agora nem precisa mais do -std=c++, basta rodar: g++ print.cpp. Outra forma é usar o specs, exemplo: Gere o specs: g++ -dumpspecs > ~/.config/specs Edite o specs e altere a linha relativa e abaixo do conteúdo: *cpp:, substitua tudo que houver e deixe assim: *cpp: %{posix:-D_POSIX_SOURCE} -std=c++23 E depois adicione isso ao seu ~/.bashrc: export GCC_SPEC_FILE=/caminho/para/specs alias g++="g++ -specs=$GCC_SPEC_FILE" Você pode usar a mesma lógica para o comando: gcc para a Linguagem C. Para mais informações acesse os links abaixo: https://gcc.gnu.org/gcc-14/changes.html https://en.cppreference.com/w/cpp/io/println https://developers.redhat.com/articles/2025/04/10/6-usability-improvements-gcc-15#

Apr 15, 2025 - 18:52
 0
Como Instalar o GCC 14 e usar o C++23

Diversos novos recursos como: std::print, std::println e entre outros.

O GCC 14 há diversas novas melhorias de usabilidade. Apesar do GCC 15 já está disponível, muitos sistemas ainda não possui disponibilidade nos repositórios dos gerenciadores de pacotes, mas o GCC 14 sim! Como no Ubuntu, por exemplo.

Se você só atualiza seu sistema, mas mesmo assim ainda não atualizações disponível, deve ser porque ele ainda não é o padrão, mas você pode instalar e definí-lo como padrão para seu sistema.

Vamos ver como fazer isso.

Instalação

Para instalar, no Ubuntu, por exemplo, basta usar o APT:

Antes atualize a lista de repositório:

sudo apt update && sudo apt upgrade

Agora é só instalar o GCC 14, nesse caso só o g++:

sudo apt install g++-14

Pode ser que depois de instalado a versão ainda não esteja atualizada:

g++ --version
g++-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0

Mas, ele já estará disponível através do comando g++-14:

g++-14 --version
g++-14 (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0

Definir como padrão para seu sistema

Para torná-lo padrão ao utilizar somente o comando g++, siga esses passos:

  • 1. Adicione o GCC 14 como alternativa:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
  • 2. Agora seleciona interativamente:
sudo update-alternatives --config g++

Escolha o número relativo ao g++14, geralmente o 2, pode ser que ambos seja o mesmo, mas forçe escolhendo o 2.

Após isso agora é só rodar o comando g++ sem especificação:

g++ --version
g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0
Copyright (C) 2024 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.

Vantagens de fazer da forma acima em vez de só alterar o link simbólico:

  • Não quebra o sistema.
  • Pode alternar facilmente entre versões.
  • Evita conflitos com o apt/dpkg.

Adicionais

Se tiver tendo problema com o seu LSP clangd instale também essas bibliotecas para compatibiliadade com o Clang:

sudo apt install libstdc++-14-dev libc++-dev libc++abi-dev 

Testando

Se você criar esse código você precisará usar a flag -std=c++23 para conseguir compilar, exemplo:

print.cpp

#include 

int main(){
  const std::string var{"All"};
  std::println("Olá, {}", var);
}

Compilando:

g++ -std=c++23 print.cpp

Se quiser acidionar o -std=c++23 como padrão e não percisar invocá-lo ao compilar, você adicionar um alias ao ~/.bashrc, exemplo:

Para obter o caminho completo do seu g++ use o comando which, ex.: which c++

echo 'alias g++="/usr/bin/g++ -std=c++23"' >> ~/.bashrc
source ~/.bashrc

Pronto, agora nem precisa mais do -std=c++, basta rodar: g++ print.cpp.

Outra forma é usar o specs, exemplo:

Gere o specs:

g++ -dumpspecs > ~/.config/specs

Edite o specs e altere a linha relativa e abaixo do conteúdo: *cpp:, substitua tudo que houver e deixe assim:

*cpp:
%{posix:-D_POSIX_SOURCE} -std=c++23

E depois adicione isso ao seu ~/.bashrc:

export GCC_SPEC_FILE=/caminho/para/specs
alias g++="g++ -specs=$GCC_SPEC_FILE"

Você pode usar a mesma lógica para o comando: gcc para a Linguagem C.

Para mais informações acesse os links abaixo: