- 1 1. Introdução
- 2 2. Preparação
- 3 3. Instalando o GCC
- 4 4. Uso Básico do GCC
- 5 5. Gerenciando Múltiplas Versões
- 6 6. Solução de Problemas
- 7 7. Seção de Perguntas Frequentes
- 7.1 Como posso instalar a versão mais recente do GCC?
- 7.2 Como desinstalar o GCC?
- 7.3 E se apenas versões antigas aparecerem no update-alternatives?
- 7.4 Como resolvo erros de dependência?
- 7.5 Como usar diferentes versões do GCC para projetos específicos?
- 7.6 O que devo fazer se receber “command not found”?
- 7.7 Resumo
- 8 8. Conclusão e Próximos Passos
1. Introdução
O que é o GCC?
GCC (GNU Compiler Collection) é um compilador de código aberto capaz de compilar várias linguagens de programação, incluindo C e C++. É amplamente usado como o compilador padrão em muitas distribuições Linux.
Principais recursos do GCC:
- Suporta múltiplas linguagens como C, C++, Fortran e Java.
- Código aberto e livremente disponível para qualquer pessoa usar.
- Permite compilações rápidas e altamente confiáveis.
Por que usar o GCC no Ubuntu?
- Disponível como pacote padrão O GCC está incluído nos repositórios oficiais do Ubuntu, facilitando a instalação.
- Documentação extensa e suporte da comunidade Com uma grande base de usuários global, há abundantes recursos para solução de problemas e personalização.
- Gratuito Você pode montar um ambiente de desenvolvimento poderoso sem custo algum.
- Fácil personalização Várias versões do GCC podem ser gerenciadas, permitindo configurar o ambiente ideal para cada projeto.
Resumo
Este artigo apresenta os fundamentos do GCC e as vantagens de usá‑lo no Ubuntu. O GCC é um compilador poderoso, multilíngue e gratuito, e sua instalação no Ubuntu é especialmente simples.

2. Preparação
Atualizando o Sistema e Verificando Dependências
Primeiro, atualize as informações de pacotes do Ubuntu para a versão mais recente. Isso ajuda a evitar erros durante a instalação.
1. Atualize seu sistema
sudo apt update
sudo apt upgrade
sudo apt update: Atualiza a lista de pacotes.sudo apt upgrade: Atualiza os pacotes instalados para as versões mais recentes.
Observações:
- O processo de atualização pode levar alguns minutos.
- Se for solicitado reiniciar após a atualização, reinicie o sistema.
Verificando Ferramentas de Desenvolvimento
Para instalar o GCC, são necessárias ferramentas e pacotes básicos de desenvolvimento. Execute o comando a seguir para instalá‑los:
sudo apt install build-essential
Este comando instala o GCC e as ferramentas essenciais de desenvolvimento.
Exemplos de pacotes instalados:
- gcc (compilador C)
- g++ (compilador C++)
- make (ferramenta de construção)
Verificando o Status da Instalação
Use o comando abaixo para confirmar a instalação e verificar a versão:
gcc --version
Exemplo de saída:
gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
Se esse resultado aparecer, o GCC foi instalado corretamente.
Resumo da Preparação
Você concluiu as preparações necessárias para instalar o GCC.
- Sistema atualizado e atualizado.
- Pacotes necessários instalados para configurar o ambiente.
- GCC instalado e sua versão verificada.
3. Instalando o GCC
Procedimento Básico de Instalação
No Ubuntu, o GCC pode ser instalado facilmente a partir do repositório oficial. Siga os passos abaixo:
- Instale o pacote build-essential
sudo apt install build-essential
Este comando instala o GCC, G++ e outras ferramentas essenciais de desenvolvimento.
- Confirme o progresso da instalação Se for solicitado “Continue? (Y/n)”, digite “Y” e pressione Enter.
Verificando a Instalação
Após a conclusão da instalação, verifique a versão do GCC:
gcc --version
Exemplo de saída:
gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
Se as informações da versão aparecerem, o GCC foi instalado com sucesso.
4. Uso Básico do GCC
Criando e Compilando um Programa Simples
- Crie um programa de exemplo
Vamos começar criando um programa simples “Hello, World!”.
nano hello.c
Quando o editor abrir, insira o código a seguir:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
Depois de inserir o código, pressione Ctrl + X para salvar e, em seguida, Y para confirmar.
Compilando o Programa
Em seguida, compile o programa usando o GCC.
gcc hello.c -o hello
Explicação do comando:
gcc: O comando do compilador.hello.c: O arquivo fonte a ser compilado.-o hello: Especifica o nome do arquivo executável de saída.
Executando o Programa Compilado
Execute o programa compilado com o seguinte comando:
./hello
Saída de exemplo:
Hello, World!
Se você vir esta saída, seu programa foi compilado e executado corretamente.
Tratamento de Erros
- Erros causados por erros de código
Mensagem de erro de exemplo:
hello.c: In function ‘main’:
hello.c:3:5: error: expected ‘;’ before ‘return’
return 0;
Solução:
A mensagem de erro mostra o número da linha onde o problema ocorreu. Revise e corrija o código.
- Compilador não encontrado
Mensagem de erro de exemplo:
gcc: command not found
Solução:
O GCC pode não estar instalado. Reinstale-o com o seguinte comando:
sudo apt install build-essential
- Erros de tempo de execução
Mensagem de erro de exemplo:
bash: ./hello: Permission denied
Solução:
Conceda permissões de execução ao arquivo:
chmod +x hello
./hello
Opções de Otimização
O GCC permite otimizar seu código para melhor desempenho.
Exemplo: Especificar níveis de otimização
gcc -O2 hello.c -o hello
-O1: Otimizações básicas.-O2: Otimizações mais avançadas.-O3: Otimização máxima para desempenho.
Essas opções ajudam a melhorar a velocidade de execução e reduzir o tamanho do código.
Resumo
Esta seção explicou como escrever, compilar e executar um programa básico usando o GCC.
Principais pontos:
- Aprendeu como criar e compilar um programa de exemplo.
- Revisou maneiras de lidar com erros comuns.
- Aprendeu como usar opções de otimização para melhorar o desempenho do programa.
5. Gerenciando Múltiplas Versões
Instalando Múltiplas Versões
O Ubuntu permite instalar diferentes versões do GCC simultaneamente. Siga os passos abaixo para configurá‑las.
- Verificar versões disponíveis
sudo apt search gcc-
Este comando lista as versões do GCC disponíveis no repositório.
Saída de exemplo:
gcc-9 - GNU C compiler
gcc-10 - GNU C compiler
gcc-11 - GNU C compiler
- Instalar as versões necessárias
Por exemplo, instale o GCC 9 e o GCC 10:
sudo apt install gcc-9 gcc-10
Após a instalação, prossiga para configurar a troca de versões.
Alternando Entre Versões
Use o comando update-alternatives para alternar facilmente entre versões do GCC.
- Registrar versões do GCC instaladas
Execute os comandos abaixo para registrar as versões do GCC com update-alternatives:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
Esta configuração dá ao GCC 10 uma prioridade maior.
- Selecione a versão que deseja usar
sudo update-alternatives --config gcc
Saída de exemplo:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-10 100 auto mode
1 /usr/bin/gcc-9 90 manual mode
2 /usr/bin/gcc-10 100 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Digite o número da versão desejada.
Usando uma Versão Específica por Projeto
Se você quiser usar uma versão diferente do GCC para projetos específicos, ajuste os links simbólicos adequadamente.
- Criar o link simbólico
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
- Verificar a versão
gcc --version
Confirme que a versão selecionada está ativa.
Resumo
Esta seção abordou como instalar múltiplas versões do GCC e alternar entre elas usando update-alternatives.
Principais pontos:
- Instale as versões necessárias e gerencie-as com
update-alternatives. - Configure links simbólicos para usar versões específicas por projeto.

6. Solução de Problemas
Erros de Instalação e Soluções
Exemplo de Erro 1: Pacote não encontrado
E: Unable to locate package build-essential
Causa:
A lista de pacotes está desatualizada, ou as configurações do repositório estão incorretas.
Solução:
Atualize as informações do repositório usando os seguintes comandos:
sudo apt update
sudo apt upgrade
sudo apt install build-essential
Solução Adicional:
sudo add-apt-repository universe
sudo apt update
Isso pode permitir que o pacote seja encontrado.
Exemplo de Erro 2: Erro de permissão
Permission denied
Causa:
O comando não foi executado com privilégios de administrador.
Solução:
Execute os comandos de instalação com sudo:
sudo apt install build-essential
Erros de Compilação e Soluções
Exemplo de Erro 1: Compilador não encontrado
gcc: command not found
Causa:
O GCC não está instalado, ou o PATH não está configurado corretamente.
Solução:
Verifique se o GCC está instalado:
sudo apt install gcc
Se já estiver instalado, repare o link simbólico:
sudo ln -s /usr/bin/gcc-10 /usr/bin/gcc
Exemplo de Erro 2: Erros de link de biblioteca
undefined reference to 'main'
Causa:
A função main está ausente, ou há erros de link.
Solução:
Certifique-se de que seu código contém uma função main. Recompile com as opções corretas:
gcc -o output main.c -lm
Erros de Execução e Soluções
Exemplo de Erro 1: Sem permissão de execução
bash: ./program: Permission denied
Causa:
O executável não tem permissão para ser executado.
Solução:
Adicione permissão de execução:
chmod +x program
./program
Exemplo de Erro 2: Bibliotecas ausentes
error while loading shared libraries: libXXX.so: cannot open shared object file: No such file or directory
Causa:
Uma biblioteca compartilhada necessária não está instalada.
Solução:
Identifique a biblioteca ausente e instale-a:
sudo apt install libXXX-dev
Erros de Gerenciamento de Versão e Soluções
Exemplo de Erro: Troca de versão não aplicada
gcc --version
Se a saída não refletir a versão trocada, verifique novamente as configurações do update-alternatives.
Solução:
- Verifique as configurações disponíveis.
sudo update-alternatives --config gcc
-
Selecione a versão correta.
-
Atualize o link simbólico.
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
Resumo
Esta seção explicou erros comuns durante a instalação e uso do GCC, juntamente com soluções específicas.
Principais pontos:
- Erros de instalação podem ser resolvidos atualizando repositórios e corrigindo configurações.
- Problemas de compilação frequentemente requerem verificação do código ou das opções de link.
- Erros de execução são frequentemente causados por permissões ou bibliotecas ausentes.
- Problemas de controle de versão podem ser ajustados usando links simbólicos e
update-alternatives.
7. Seção de Perguntas Frequentes
Como posso instalar a versão mais recente do GCC?
Pergunta:
Quero instalar a versão mais recente do GCC, mas o repositório do Ubuntu fornece apenas versões antigas. O que posso fazer?
Resposta:
Adicione o repositório PPA e instale a versão mais recente.
- Adicione o PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
- Atualize os pacotes:
sudo apt update
- Instale o GCC mais recente:
sudo apt install gcc-12
- Verifique a versão:
gcc --version
Como desinstalar o GCC?
Resposta:
Execute os seguintes comandos:
sudo apt remove gcc
sudo apt autoremove
Para remover ferramentas de desenvolvimento relacionadas:
sudo apt remove build-essential
E se apenas versões antigas aparecerem no update-alternatives?
Resposta:
Adicione a versão necessária manualmente:
sudo apt install gcc-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
sudo update-alternatives --config gcc
Como resolvo erros de dependência?
Resposta:
Tente atualizar o sistema:
sudo apt update
sudo apt upgrade
Se não for resolvido:
sudo apt --fix-broken install
Como usar diferentes versões do GCC para projetos específicos?
Resposta:
- Crie um link simbólico local:
ln -s /usr/bin/gcc-9 ./gcc
- Use-o durante a compilação:
./gcc -o program program.c
O que devo fazer se receber “command not found”?
Resposta:
Verifique se o GCC está instalado:
dpkg -l | grep gcc
Se não estiver instalado, reinstale-o:
sudo apt install gcc
Se o link simbólico estiver quebrado, corrija-o:
sudo ln -sf /usr/bin/gcc-10 /usr/bin/gcc
Resumo
Esta seção cobriu perguntas comuns e soluções práticas relacionadas ao uso do GCC.
Principais pontos:
- A versão mais recente pode ser instalada via um repositório PPA.
- A desinstalação e o gerenciamento de versões são feitos via
update-alternatives. - Exemplos práticos foram fornecidos para resolver erros comuns.

8. Conclusão e Próximos Passos
Revisão dos Pontos Principais
- Visão geral e propósito do GCC
- O GCC suporta várias linguagens de programação, como C e C++.
- O Ubuntu fornece acesso fácil ao GCC através de repositórios oficiais.
- Etapas de instalação e preparação
- Atualizou o sistema e instalou o pacote
build-essential. - Revisou verificações de versão e solução de dependências.
- Uso básico
- Aprendeu a criar, compilar e executar código de exemplo.
- Explorou técnicas de otimização e tratamento de erros.
- Gerenciamento de múltiplas versões
- Usou
update-alternativespara alternar versões do GCC conforme os projetos.
- Solução de problemas e FAQ
- Discutiu erros comuns e soluções passo a passo.
Recursos Adicionais
- Documentação Oficial do Ubuntu
- Ubuntu Official Site fornece guias detalhados sobre gerenciamento de pacotes e ferramentas de desenvolvimento.
- Documentação Oficial do GCC
- GCC Manual oferece instruções avançadas de uso e opções de configuração.
- Recursos de Solução de Problemas no Linux
- Linux Console contém várias informações de solução de problemas no Linux.
- Plataformas de Aprendizado e Fóruns
- Qiita e Stack Overflow oferecem exemplos úteis e suporte da comunidade.
Próximos Passos
- Aplicar o GCC no desenvolvimento real
- Use o GCC para construir programas mais avançados em seus projetos.
- Expandir funcionalidades usando bibliotecas
- Inclua bibliotecas adicionais para melhorar as capacidades do projeto.
- Aprender novas ferramentas e linguagens
- Domine ferramentas e linguagens de desenvolvimento relacionadas para ampliar seu conjunto de habilidades.
- Participar da comunidade de código aberto
- Participe de fóruns ou projetos de código aberto para ganhar experiência prática e compartilhar conhecimento.
Considerações Finais
Este artigo percorreu todas as etapas de instalação e uso do GCC no Ubuntu. Seguindo os métodos e práticas de solução de problemas apresentados aqui, qualquer pessoa pode construir um ambiente de desenvolvimento confiável.
Uma última observação:
Use o GCC para transformar suas ideias de software em realidade. Se encontrar problemas, consulte o FAQ ou os recursos referenciados para resolvê-los de forma eficiente.
O próximo artigo explorará a sintaxe básica e técnicas avançadas de desenvolvimento em C e C++. Fique atento às atualizações!
