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#

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 comandowhich
, 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: