Integrando VSCode, Mingw-w64 y CMake (Parte I)
Lecturas de la serie
- Compilador GCC, generador de build systems CMake y editor VS Code
- Construyendo un proyecto "Hello, world!" con CMake
- Instalación de bibliotecas no estándar
- Depuración de proyectos CMake en VS Code
- Estructura modular de un proyecto C++ con CMake
Sobre este artículo
Tiempo estimado de instalación y configuración: 30 minutos
Nivel: Básico
Última actualización: 31 de julio, 2026
Nivel: Básico
Última actualización: 31 de julio, 2026
1. Introducción
Este primer artículo de la serie se centra en la instalación y configuración de un entorno de desarrollo para proyectos en C++ bajo MS Windows (10 o posterior, 64 bits).
En primer lugar, conviene distinguir las distintas herramientas que intervienen en el desarrollo de una aplicación en C++ y la función desempeñada por cada una de ellas:
- Compilador: traduce el código fuente escrito por el programador (archivos fuente .cpp) a lenguaje máquina ejecutable por el sistema operativo. Durante este proceso, el precompilador incorpora los contenidos procedentes de ficheros de cabecera (.h, .hpp).
- Sistema de construcción (build system): automatiza el proceso de conversión de código fuente en programas ejecutables, bibliotecas o paquetes específicos. Gestiona las dependencias entre archivos, realiza el seguimiento de cambios para permitir compilaciones incrementales e invoca compiladores y enlazadores según sea necesario.
- Generador de sistemas de construcción (build system generator): permite describir un proyecto mediante archivos de configuración de alto nivel, típicamente multiplataforma. A partir de esta descripción, se pueden generar automáticamente los scripts de construcción específicos que un build system nativo de bajo nivel, como GNU Make o Ninja, ejecutará para compilar y enlazar el código fuente.
- Entorno de desarrollo integrado (IDE): proporciona un conjunto integrado de herramientas para el desarrollo de software, incluyendo normalmente las funciones de (i) edición de código con resaltado de sintaxis, (ii) asistencia y autocompletado, (iii) depuración (debugging), (iv) integración con sistemas de construcción y (v) control de versiones, entre otras.
- G++ (https://gcc.gnu.org/): el compilador del lenguaje C++ proporcionado por el proyecto GNU/GCC . En esta guía procederemos a su instalación mediante MSYS2, una plataforma de desarrollo y distribución de software para MS Windows que incorpora el gestor de paquetes pacman, originalmente desarrollado para Arch Linux (https://wiki.archlinux.org/index.php/pacman). MSYS2 permite la construcción de aplicaciones nativas para MS Windows a través de Mingw-w64 (https://mingw-w64.org/). Ésta es una colección de bibliotecas y herramientas que, al combinarse con una cadena de herramientas de compilación (como GCC), proporciona un entorno de desarrollo completo para la construcción de aplicaciones y bibliotecas nativas de MS Windows de 32 y 64 bits.
- Ninja (https://ninja-build.org/): build system minimalista enfocado en la velocidad. Se diferencia de otros sistemas de construcción en dos aspectos principales: está diseñado para que sus archivos de entrada sean generados por un sistema de construcción de alto nivel (como CMake), así como para ejecutar las construcciones lo más rápido posible. Ninja se utiliza para construir Google Chrome, partes de Android y LLVM, pudiendo emplearse en otros proyectos gracias al soporte ofrecido por CMake.
- CMake (https://cmake.org/), una herramienta de generación y gestión de sistemas de construcción ampliamente utilizada en el desarrollo profesional de software en C y C++, facilitando tareas relacionadas con la compilación, ejecución de pruebas, instalación y empaquetado de aplicaciones. A partir de ficheros de configuración denominados CMakeLists.txt, permite describir de forma portable la estructura de un proyecto y generar automáticamente los sistemas de construcción apropiados para distintas plataformas y herramientas.
- Visual Studio Code (https://code.visualstudio.com/): un editor de código fuente multiplataforma desarrollado por Microsoft desde 2015 para los sistemas operativos Linux, MS Windows y macOS. Aunque los binarios oficiales se distribuyen bajo una licencia propietaria, el proyecto se basa en la versión de código abierto VS Code-OSS. Mediante una amplia variedad de extensiones, proporciona funcionalidades avanzadas propias de un IDE, siendo declarado el entorno de desarrollo más popular por cuarto año consecutivo en el Stack Overflow Developer Survey de 2025 [1].
2. Compilador G++, build system Ninja y build system generator CMake
El compilador G++ ofrece un amplio soporte para el estándar C++23 y compatibilidad experimental con numerosas características de C++26 [2].
La versión 16.1 de los compiladores GCC fue publicada el 30 de abril de 2026. Se espera el lanzamiento de la versión 16.2 el 7 de agosto de 2026.
Existen diversas distribuciones que facilitan la instalación de G++ en MS Windows, de entre las cuales emplearemos MSYS2. Descargaremos en primer lugar su instalador para arquitecturas x86_64 (64 bits) desde el portal oficial https://www.msys2.org.
La Wiki asociada a MSYS2 está disponible en https://www.msys2.org/wiki/Home/, mientras que el repositorio de paquetes puede consultarse en https://packages.msys2.org/package/.
Seguiremos los pasos de instalación descritos en el portal, a saber:
- Descargar y ejecutar el instalador bajo un sistema MS Windows 10 (1809+) o superior de 64 bits.
- Seleccionar una ubicación adecuada para la instalación (habitualmente, C:\msys64).
- Una vez completada la instalación, y antes de cerrar el instalador, marcar la opción "Run MSYS2 now" para iniciar la aplicación por primera vez y proceder a la actualización del sistema.
pacman -SyuEste comando sincroniza las bases de datos de paquetes y actualiza el sistema instalado (véase la figura inferior).
pacman -Su para finalizar el proceso de actualización.
UCRT (Universal C Runtime) es un componente del sistema operativo de Microsoft que implementa la biblioteca de tiempo de ejecución de C [3]. Se incluye por defecto en MS Windows 10 y versiones posteriores, así como en MS Windows Server 2016 y versiones posteriores. Sirve para ejecutar programas creados en C y C++ sin depender de una versión específica del compilador Visual Studio.
pacman -S git
pacman -S mingw-w64-ucrt-x86_64-toolchain
pacman -S mingw-w64-ucrt-x86_64-cmake
pacman -S mingw-w64-ucrt-x86_64-ninjaDurante la instalación de mingw-w64-ucrt-x86_64-toolchain, el gestor de paquetes solicitará la selección de los componentes deseados. Si deseamos instalar la totalidad del conjunto de herramientas propuesto, bastará con pulsar ENTER.
Finalizada la instalación, añadiremos la ruta C:\msys64\ucrt64\bin o similar —aquélla donde se encuentre localizado, en particular, el ejecutable g++.exe— en la variable PATH del sistema, lo que permitirá utilizar las herramientas instaladas desde cualquier consola del sistema. Para ello, acudiremos a "Panel de control\Sistema y seguridad\Sistema" de MS Windows. En el menú lateral de opciones, seleccionaremos "Configuración avanzada del sistema". Una vez en la ventana de propiedades del sistema, pulsaremos sobre "Variables de entorno". Editaremos entonces la sección "Path" de las variables del sistema para añadir la dirección indicada anteriormente.
Para verificar que la instalación se ha realizado correctamente, abriremos una consola de comandos (cmd) y ejecutaremos:
g++ --versionSe mostrará un mensaje indicando la versión instalada del compilador G++:
g++ (Rev5, Built by MSYS2 project) 16.1.0
Copyright (C) 2026 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.Del mismo modo, podremos comprobar la instalación de CMake mediante:
cmake --version3. Editor Visual Studio Code
Para la instalación del editor VS Code, procederemos en la forma siguiente:
[1] Descargaremos e instalaremos el software desde el siguiente enlace: https://code.visualstudio.com/
[2] Una vez instalado, ejecutaremos el editor. Pulsaremos la combinación de teclas Ctrl+Shift+X para desplegar el menú lateral de extensiones del editor. Realizaremos la búsqueda "C++" y seleccionaremos la extensión "C/C++ IntelliSense, debugging, and code browsing" desarrollada por Microsoft (ver imagen inferior). Haremos clic sobre "Install" y después sobre "Reload" para hacer efectivos los cambios.
[3] Repetiremos el procedimiento anterior para instalar la extensión "CMake Tools", también desarrollada por Microsoft.
[4] Finalmente, abriremos el Command Palette del editor con la combinación de teclas Ctrl+Shift+P y ejecutaremos el comando ">Preferences: Open User Settings (JSON)" (en castellano: ">Preferencias: Abrir configuración de usuario (JSON)"). Añadiremos entonces, separadas por comas, las siguientes líneas al fichero settings.json (véase la imagen inferior):
"cmake.configureOnOpen": true,
"cmake.generator": "Ninja"La segunda línea, en particular, indica a CMake que gestione proyectos utilizando "Ninja" como herramienta subyacente de construcción (build tool).
Referencias bibliográficas
- Stack Overflow 2025 Developer Survey – https://survey.stackoverflow.co/2025
- cppreference - C++ compiler support – https://en.cppreference.com/cpp/compiler_support
- Universal CRT – https://learn.microsoft.com/es-es/cpp/windows/universal-crt-deployment?view=msvc-170



