Cómo compilar y ejecutar C++ en Windows, Mac y Linux
Respuesta corta: Windows → instala Visual Studio Community (o el g++ de MinGW); Mac → un comando de Terminal instala el clang++ de Apple; Linux → tu gestor de paquetes instala g++. Los tres son gratis. No hace falta navegador — aunque para practicar rápido siempre puedes usar nuestro editor en el navegador.
El editor en línea va perfecto para las lecciones, pero tarde o temprano necesitas un compilador de verdad en tu máquina: programas más grandes, std::vector y la biblioteca estándar completa, depuración real. Aquí está el camino más corto para cada sistema.
Windows: Visual Studio Community (recomendado)
- Descarga Visual Studio 2022 Community (gratis) desde visualstudio.microsoft.com.
- En el instalador, marca la carga de trabajo «Desarrollo para el escritorio con C++». Esa sola casilla trae el compilador MSVC, el depurador y el SDK de Windows.
- Instala, abre y ve a Archivo → Nuevo proyecto → Aplicación de consola (C++). Genera un
Hello Worldcon sumainlisto para usar. - Pulsa F5 para compilar y ejecutar.
Alternativa más ligera: si prefieres la línea de comandos, instala MSYS2 y obtén el g++ de verdad:
pacman -S mingw-w64-ucrt-x86_64-gcc
g++ --version # comprobar
Mac: herramientas de línea de comandos de Xcode (un comando)
No necesitas el IDE Xcode completo. Abre Terminal y ejecuta:
xcode-select --install
Aparece un diálogo; pulsa Instalar. En unos minutos tienes clang++ (el clang de Apple, con las mismas opciones que gcc). Compruébalo:
clang++ --version
Linux: una línea del gestor de paquetes
sudo apt install g++ # Debian/Ubuntu
sudo dnf install gcc-c++ # Fedora
g++ --version # comprobar
Compilar y ejecutar desde la terminal (en cualquier sistema)
Guarda esto como main.cpp:
#include <iostream>
int main() {
std::cout << "It compiles!" << std::endl;
return 0;
}
Y luego, en la carpeta donde está el archivo:
g++ main.cpp -o main # compila: genera el ejecutable "main" (main.exe en Windows)
./main # ejecútalo (Windows: main.exe o .\main.exe)
Las opciones que conviene adoptar desde el primer día:
g++ -std=c++20 -Wall main.cpp -o main
# └─ estándar moderno └─ activa los avisos — siempre
Qué pasa de verdad: compilar → enlazar → ejecutar
Ese único comando g++ hace dos trabajos en secreto: el compilador traduce tu .cpp a código máquina (archivos objeto) y el enlazador los cose en un ejecutable. Eso explica las dos familias de errores de nuestra guía de errores de compilación: los mensajes error: vienen del compilador (reglas del lenguaje), y undefined reference viene del enlazador (una función se prometió pero nunca se entregó).
Los errores de instalación que le pasan a todo el mundo
'g++' is not recognized/command not found— el compilador se instaló, pero la terminal no lo encuentra. En Windows casi siempre es el PATH: la carpetaucrt64\binde MSYS2 tiene que estar en tu variable PATH, y después de cambiarla debes abrir una terminal nueva.g++: error: main.cpp: No such file or directory— estás en la carpeta equivocada. Hazcda la carpeta donde está realmente el archivo (o pasa la ruta completa).- El programa se ejecuta y se cierra al instante en Windows — la ventana de consola se cierra cuando
maintermina. Ejecútalo desde una terminal en vez de hacer doble clic, o pon un punto de interrupción; evita el truco antiguo desystem("pause"). - El antivirus marca tu
main.exerecién compilado — los ejecutables sin firmar a veces disparan heurísticas; añade una exclusión para tu carpeta de proyectos.
¿Necesito un IDE?
No — un editor de texto y la terminal son un entorno completo, y te enseñan qué estaba haciendo el IDE por ti. Pero hay un punto medio muy bueno: VS Code (gratis) con la extensión oficial C/C++ — conservas los comandos g++ de arriba y ganas resaltado de sintaxis, salto al error y depuración. Visual Studio (Windows) y Xcode (Mac) siguen siendo las opciones «todo incluido».
¿Qué estándar debería usar?
- Aprender en 2026:
-std=c++20— funciones modernas, soportadas por todos los compiladores actuales. - Siguiendo tutoriales antiguos: suelen referirse a C++11/14; cualquier versión desde C++11 los ejecutará.
- Entrevistas de trabajo: domina lo central de C++11 (auto, range-for, punteros inteligentes, lambdas); C++17/20 se da por hecho cada vez más.
Practica
- Compila y ejecuta el
main.cppde arriba con-Wall— salida limpia, sin avisos. - Rómpelo a propósito: quita un punto y coma, conoce el
error: expected ';'y arréglalo. Ese error y sus amigos están descifrados en la guía de errores comunes. - Prueba
std::vectorystd::string— la biblioteca estándar completa funciona en tu escritorio, aunque nuestro editor en el navegador solo cubra el núcleo didáctico.
Relacionado: empieza por la lección Hello World, sigue con qué es int main() y ten a mano los 10 errores de compilación más comunes para cuando falle la compilación.