- 1 1. Introducción
- 2 2. Preparación previa
- 3 3. Procedimiento de instalación de GCC
- 4 4. Uso básico de GCC
- 5 5. Gestión de múltiples versiones
- 6 6. Solución de problemas
- 7 7. Preguntas frecuentes (FAQ)
- 7.1 ¿Cómo instalo la versión más reciente de GCC?
- 7.2 ¿Cómo desinstalar GCC?
- 7.3 ¿Qué hacer si solo aparece una versión antigua en update-alternatives?
- 7.4 ¿Cómo resolver errores de dependencias?
- 7.5 ¿Cómo usar una versión específica de GCC por proyecto?
- 7.6 ¿Qué hacer si aparece “command not found”?
- 7.7 Resumen
- 8 8. Conclusión y próximos pasos
- 9 Glosario (uso recomendado en español neutro)
1. Introducción
¿Qué es GCC?
GCC (GNU Compiler Collection) es un compilador de código abierto que permite compilar múltiples lenguajes de programación como C y C++. Se utiliza ampliamente como compilador estándar en las distribuciones de Linux.
Principales características de GCC:
- Soporta múltiples lenguajes como C, C++, Fortran, Java, entre otros.
- Es de código abierto y puede ser utilizado libremente por cualquiera.
- Permite compilaciones rápidas y confiables.
Razones para usar GCC en Ubuntu
- Disponible como paquete estándar
El repositorio de Ubuntu incluye GCC de forma predeterminada, lo que facilita su instalación. - Amplia documentación y soporte
Con usuarios en todo el mundo, existe abundante información sobre resolución de problemas y personalización. - Uso gratuito
Permite construir un entorno de desarrollo potente sin costos adicionales. - Fácil personalización
Se pueden gestionar múltiples versiones de GCC, adaptando el entorno a cada proyecto.
Resumen
En este artículo se presentó una visión general de GCC y las ventajas de usarlo en Ubuntu. GCC es un compilador potente, gratuito y compatible con varios lenguajes, además de ser muy fácil de instalar en entornos Ubuntu.

2. Preparación previa
Actualizar el sistema y verificar dependencias
Primero, actualiza la información de paquetes de Ubuntu a su última versión. Esto ayuda a evitar errores durante la instalación.
1. Actualizar el sistema
sudo apt update
sudo apt upgrade
sudo apt update
: Actualiza la lista de paquetes a la última versión disponible.sudo apt upgrade
: Actualiza todos los paquetes instalados a la versión más reciente.
Notas importantes:
- La actualización puede tardar algunos minutos.
- Si aparece un mensaje indicando que se requiere reiniciar, reinicia el sistema.
Verificar herramientas de desarrollo
Para instalar GCC se necesitan herramientas y paquetes básicos de desarrollo. Ejecuta el siguiente comando para instalarlos previamente.
sudo apt install build-essential
Este comando instalará GCC y otras herramientas básicas de desarrollo.
Ejemplos de paquetes instalados:
- gcc (compilador de C)
- g++ (compilador de C++)
- make (herramienta de construcción)
Verificar el estado de la instalación
Para confirmar los paquetes y la versión instalada, utiliza este comando:
gcc --version
Ejemplo de salida:
gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
Si obtienes un resultado similar, significa que GCC se instaló correctamente.
Resumen de la preparación
Hasta aquí completaste los pasos previos necesarios para instalar GCC:
- Actualizar y mejorar el sistema a su última versión.
- Instalar los paquetes requeridos para el entorno.
- Verificar la instalación y versión de GCC.
3. Procedimiento de instalación de GCC
Pasos básicos de instalación
En Ubuntu, GCC puede instalarse fácilmente desde los repositorios oficiales. Sigue los pasos a continuación.
- Instalar el paquete build-essential
sudo apt install build-essential
Este comando instala GCC, G++ y un conjunto de herramientas de desarrollo.
- Confirmar el progreso de la instalación
Si aparece el mensaje “¿Desea continuar? (Y/n)”, escribe “Y” y presiona Enter.
Cómo verificar después de la instalación
Una vez completada la instalación, verifica la versión de GCC para confirmar que todo se haya instalado correctamente.
gcc --version
Ejemplo de salida:
gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
Si ves la información de la versión, GCC está instalado correctamente.
Instalar herramientas y librerías adicionales
En algunos casos, GCC por sí solo no es suficiente. Se recomienda instalar los siguientes paquetes adicionales:
- Instalar G++ (compilador de C++)
sudo apt install g++
- Instalar herramientas de depuración
sudo apt install gdb
- Instalar páginas del manual
sudo apt install manpages-dev
Con esto podrás consultar la ayuda y los manuales de GCC cuando los necesites.
Qué hacer si la instalación falla
- Si no se encuentra el paquete
E: Unable to locate package build-essential
Solución: Actualiza la información de los repositorios.
sudo apt update
sudo apt upgrade
- Si ocurre un error de permisos
Permission denied
Solución: Ejecuta el comando con privilegios de administrador anteponiendo sudo
.
Resumen del procedimiento de instalación
En esta sección vimos el procedimiento de instalación y verificación de GCC, y cómo añadir paquetes opcionales.
Puntos clave:
- Instala fácilmente con
sudo apt install build-essential
. - Verifica el estado revisando la versión instalada.
- Agrega G++, gdb y otros paquetes según sea necesario.

4. Uso básico de GCC
Crear y compilar un programa simple
- Crear un programa de ejemplo
Comencemos con un programa sencillo “Hello, World!”.
nano hello.c
Cuando se abra el editor, ingresa el siguiente código:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
Para guardar, presiona Ctrl + X, confirma con Y y sal.
Compilar el programa
Ahora compila el programa usando GCC.
gcc hello.c -o hello
Explicación del comando:
gcc
: El comando del compilador.hello.c
: El archivo fuente a compilar.-o hello
: Establece el nombre del ejecutable como “hello”.
Ejecutar el programa compilado
Ejecuta el binario generado con el siguiente comando:
./hello
Ejemplo de salida:
Hello, World!
Si ves este resultado, la compilación y la ejecución fueron exitosas.
Cómo actuar ante errores
- Errores por fallos en el código
Ejemplo de mensaje:
hello.c: In function ‘main’:
hello.c:3:5: error: expected ‘;’ before ‘return’
return 0;
Solución:
El mensaje indica la línea problemática (p. ej., línea 3). Revisa y corrige el código.
- Error de compilación
Ejemplo de mensaje:
gcc: command not found
Solución:
GCC podría no estar instalado. Reinstálalo con:
sudo apt install build-essential
- Error en tiempo de ejecución
Ejemplo de mensaje:
bash: ./hello: Permission denied
Solución:
Si el archivo no tiene permisos de ejecución, asígnalos y vuelve a ejecutar:
chmod +x hello
./hello
Opciones de optimización
GCC permite mejorar el rendimiento usando opciones de optimización.
Ejemplo: establecer nivel de optimización
gcc -O2 hello.c -o hello
-O1
: Optimización básica.-O2
: Optimización más agresiva.-O3
: Optimización máxima (prioriza velocidad).
Con esto puedes reducir el tiempo de ejecución o el tamaño del binario.
Resumen
En esta sección, creaste, compilaste y ejecutaste un programa con GCC.
Puntos clave:
- Cómo crear y compilar un ejemplo básico.
- Cómo interpretar y corregir errores frecuentes.
- Cómo aplicar opciones de optimización para mejorar el rendimiento.
5. Gestión de múltiples versiones
Instalar múltiples versiones
En Ubuntu puedes instalar varias versiones de GCC en paralelo. Sigue estos pasos:
- Verificar las versiones disponibles
sudo apt search gcc-
Este comando lista las versiones de GCC en el repositorio.
Ejemplo de salida:
gcc-9 - GNU C compiler
gcc-10 - GNU C compiler
gcc-11 - GNU C compiler
- Instalar las versiones necesarias
Por ejemplo, instala GCC 9 y GCC 10:
sudo apt install gcc-9 gcc-10
Cuando termine la instalación, configura el método de cambio.
Cómo cambiar de versión
Con update-alternatives
puedes alternar fácilmente entre versiones.
- Registrar versiones instaladas
Primero registra las versiones en 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
En este ejemplo, GCC 10 tiene prioridad (100) como predeterminado.
- Seleccionar la versión a usar
Elige manualmente la versión con:
sudo update-alternatives --config gcc
Ejemplo de salida:
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:
Introduce el número deseado y presiona Enter.
Usar una versión específica por proyecto
Si quieres usar una versión concreta por proyecto, puedes cambiar el enlace simbólico.
- Crear el enlace
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
Este comando fija GCC 9 como predeterminado.
- Verificar la versión
gcc --version
Confirma que el cambio se haya aplicado.
Resumen
En esta sección instalaste múltiples versiones de GCC y aprendiste a alternarlas con update-alternatives
.
Puntos clave:
- Instalar las versiones necesarias y gestionarlas con
update-alternatives
. - Configurar una versión específica por proyecto cuando sea necesario.

6. Solución de problemas
Errores durante la instalación y cómo resolverlos
Error 1: No se encuentra el paquete
E: Unable to locate package build-essential
Causa:
La lista de paquetes no está actualizada o hay un problema de repositorios.
Solución:
Actualiza la información de repositorios e intenta de nuevo.
sudo apt update
sudo apt upgrade
sudo apt install build-essential
Medida adicional:
sudo add-apt-repository universe
sudo apt update
Con esto, el paquete podría quedar disponible.
Error 2: Error de permisos
Permission denied
Causa:
El comando no se ejecutó con privilegios de administrador.
Solución:
Ejecuta los comandos de instalación con sudo
.
sudo apt install build-essential
Errores durante la compilación y cómo resolverlos
Error 1: No se encuentra el compilador
gcc: command not found
Causa:
GCC no está instalado o PATH
no está configurado correctamente.
Solución:
Verifica o instala GCC.
sudo apt install gcc
Si ya está instalado, corrige el enlace simbólico:
sudo ln -s /usr/bin/gcc-10 /usr/bin/gcc
Error 2: Error de enlace con librerías
undefined reference to 'main'
Causa:
No se definió la función main
o hay un error de enlace.
Solución:
Asegúrate de que main
esté definido y recompila con las opciones necesarias.
gcc -o output main.c -lm
Errores en tiempo de ejecución y cómo resolverlos
Error 1: Falta permiso de ejecución
bash: ./program: Permission denied
Causa:
El ejecutable no tiene permisos de ejecución.
Solución:
Asigna permisos y ejecuta de nuevo.
chmod +x program
./program
Error 2: Librerías faltantes
error while loading shared libraries: libXXX.so: cannot open shared object file: No such file or directory
Causa:
Falta una biblioteca compartida necesaria.
Solución:
Identifica la biblioteca requerida e instálala.
sudo apt install libXXX-dev
Errores al gestionar versiones y cómo resolverlos
Error: El cambio de versión no surte efecto
gcc --version
Si no aparece la versión seleccionada, revisa la configuración de update-alternatives
.
Solución:
- Revisar las alternativas disponibles.
sudo update-alternatives --config gcc
- Elegir el número correcto.
- Actualizar el enlace simbólico si es necesario.
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
Resumen
En esta sección abordamos problemas comunes al instalar y usar GCC, y sus soluciones prácticas.
Puntos clave:
- Ante errores de instalación, actualiza repositorios o ajusta la configuración.
- Ante errores de compilación, revisa el código y las opciones de enlace.
- En tiempo de ejecución, verifica permisos y bibliotecas.
- Para gestión de versiones, usa
update-alternatives
y enlaces simbólicos.
7. Preguntas frecuentes (FAQ)
¿Cómo instalo la versión más reciente de GCC?
Pregunta:
Quiero instalar la versión más reciente de GCC, pero el repositorio por defecto ofrece una versión antigua. ¿Qué puedo hacer?
Respuesta:
Agrega un PPA con versiones nuevas de GCC.
- Añadir el PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
- Actualizar la lista de paquetes:
sudo apt update
- Instalar la versión reciente:
sudo apt install gcc-12
- Verificar la versión:
gcc --version
¿Cómo desinstalar GCC?
Pregunta:
Quiero desinstalar GCC. ¿Cómo lo hago?
Respuesta:
Ejecuta los siguientes comandos:
sudo apt remove gcc
sudo apt autoremove
Para eliminar herramientas relacionadas, añade:
sudo apt remove build-essential
¿Qué hacer si solo aparece una versión antigua en update-alternatives?
Pregunta:
Incluso con update-alternatives --config gcc
solo puedo elegir versiones antiguas. ¿Cómo agrego una versión nueva?
Respuesta:
Instala la versión deseada y añádela manualmente a las alternativas.
- Instalar la versión necesaria.
sudo apt install gcc-12
- Añadirla a las alternativas.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
- Seleccionar la versión.
sudo update-alternatives --config gcc
¿Cómo resolver errores de dependencias?
Pregunta:
Durante la instalación de GCC aparecen errores de dependencias. ¿Cómo los soluciono?
Respuesta:
Asegúrate de que el sistema esté actualizado:
sudo apt update
sudo apt upgrade
Si persiste, repara dependencias:
sudo apt --fix-broken install
¿Cómo usar una versión específica de GCC por proyecto?
Pregunta:
Quiero usar versiones diferentes de GCC por proyecto. ¿Cómo lo configuro?
Respuesta:
Crea un enlace simbólico dentro del directorio del proyecto.
- Crear el enlace local a la versión deseada.
ln -s /usr/bin/gcc-9 ./gcc
- Usarlo al compilar localmente.
./gcc -o program program.c
¿Qué hacer si aparece “command not found”?
Pregunta:
Aunque instalé GCC, aparece gcc: command not found
. ¿Qué hago?
Respuesta:
Primero verifica la instalación:
dpkg -l | grep gcc
Si no está instalado, vuelve a instalar:
sudo apt install gcc
Si continúa el problema, verifica el enlace simbólico:
ls -l /usr/bin/gcc
Si el enlace está roto, corrígelo:
sudo ln -sf /usr/bin/gcc-10 /usr/bin/gcc
Resumen
En esta sección recopilamos preguntas frecuentes sobre GCC y soluciones concretas.
Puntos clave:
- Para versiones recientes, usa un PPA.
- La desinstalación y la gestión de versiones se simplifican con
update-alternatives
. - Incluimos ejemplos de comandos para resolver problemas comunes.

8. Conclusión y próximos pasos
Repaso de los puntos clave
- Descripción general y rol de GCC
- GCC es un compilador potente que soporta varios lenguajes como C y C++.
- En Ubuntu, puede instalarse fácilmente desde los repositorios oficiales y es ideal para preparar el entorno de desarrollo.
- Instalación y preparación
- Actualiza el sistema e instala
build-essential
. - Verifica versiones y resuelve dependencias para estabilizar el entorno.
- Uso básico
- Cómo crear, compilar y ejecutar un programa de ejemplo.
- Cómo manejar errores y aplicar opciones de optimización.
- Gestión y cambio entre múltiples versiones
- Usa
update-alternatives
para alternar versiones según el proyecto.
- Solución de problemas y FAQ
- Errores frecuentes en instalación/uso y sus soluciones paso a paso.
Recursos adicionales
Estos recursos te ayudarán a profundizar o ampliar tus conocimientos.
- Documentación oficial de Ubuntu
- Sitio oficial de Ubuntu con guías detalladas sobre gestión de paquetes y herramientas de desarrollo.
- Documentación oficial de GCC
- Manual oficial de GCC con configuración detallada y usos avanzados.
- Guía de consola Linux
- Linux Console con información de solución de problemas generales en Linux.
- Sitios de aprendizaje y foros
- Qiita y Stack Overflow para ejemplos de código y respuestas a preguntas técnicas.
Próximos pasos
- Aplicar GCC al desarrollo real
- Integra GCC en tus proyectos para desarrollar programas más avanzados.
- Ampliar con librerías
- Instala bibliotecas adicionales para extender funcionalidades según las necesidades del proyecto.
- Aprender nuevos lenguajes y herramientas
- Explora otros lenguajes y herramientas de construcción para seguir mejorando tus habilidades.
- Participar en la comunidad
- Únete a foros y proyectos de código abierto para compartir conocimiento y practicar con casos reales.
Cierre
En este artículo recorrimos desde la instalación hasta el uso práctico de GCC en Ubuntu, incluyendo solución de problemas. Con estas pautas, incluso principiantes podrán configurar su entorno sin complicaciones.
Mensaje final:
Usa esta guía como referencia para aprovechar GCC en tus proyectos y disfruta del desarrollo. Si surgen dudas, consulta la sección de FAQ o los recursos adicionales.
En el próximo artículo abordaremos la sintaxis básica de C/C++ y técnicas de desarrollo más avanzadas. ¡No te pierdas las próximas actualizaciones!
Glosario (uso recomendado en español neutro)
- Repositorio: colección de paquetes de software disponible para instalar.
- Paquete: unidad instalable de software (programa, librería o herramienta).
- Dependencias: paquetes requeridos por otro paquete para funcionar.
- Enlace simbólico (symlink): puntero que redirige a otro archivo o ruta.
- Depuración (debugging): proceso de identificar y corregir errores.
- Optimización: ajuste del código para mejorar rendimiento/tamaño.
- Tiempo de ejecución: fase en que un programa ya compilado se ejecuta.