En este corto post te mostraré cómo instalar el compilador de C, C++ y otras utilidades en Windows de 64 bits usando MSYS2.
También te enseñaré a agregar la ubicación a la PATH para que puedas invocar el comando desde cualquier lugar.
Instalar MSYS2
Ve a la página oficial y descarga el instalador. Yo recomiendo seguir los pasos que aparecen ahí, ya que pueden actualizarlos. La única cosa que es distinta es agregar el directorio a la PATH y eso te lo dejo al final del post.
Bien, una vez que lo hayas descargado instala el programa normalmente. Cuando te pregunte la ruta, recomiendo que la dejes intacta, pero si la cambias recuerda la ubicación. En mi caso la dejé en C:\msys64
.
Se va a abrir una terminal, ahí ejecuta pacman -Syu
. Una vez que haya terminado, cierra la ventana y vuelve a buscar el programa, es decir, reinicia la consola.
Por si no encuentras cómo volver a abrir el programa, busca MSYS2 MSYS en el menú de inicio. Una vez reiniciada, ejecuta pacman -Su
y más tarde ejecuta pacman -S --needed base-devel mingw-w64-x86_64-toolchain
para instalar los compiladores.
Yo recomiendo que instales todo, es decir, que dejes todo por default, ya que dirá default=all
. Luego de eso confirma la operación y espera a que termine.
Agregando a la PATH
Ahora sigue el tutorial para agregar un directorio a la PATH de Windows, el directorio en cuestión es C:\msys64\mingw64\bin
y se ve así:
Finalmente abre una terminal, CMD, Símbolo del sistema o como le llames y ejecuta:
gcc -v
Debe salir algo parecido a lo siguiente:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../gcc-10.3.0/configure –prefix=/mingw64 –with-local-prefix=/mingw64/local –build=x86_64-w64-mingw32 –host=x86_64-w64-mingw32 –target=x86_64-w64-mingw32 –with-native-system-header-dir=/mingw64/x86_64-w64-mingw32/include –libexecdir=/mingw64/lib –enable-bootstrap –enable-checking=release –with-arch=x86-64 –with-tune=generic –enable-languages=c,lto,c++,fortran,ada,objc,obj-c++,jit –enable-shared –enable-static –enable-libatomic –enable-threads=posix –enable-graphite –enable-fully-dynamic-string –enable-libstdcxx-filesystem-ts=yes –enable-libstdcxx-time=yes –disable-libstdcxx-pch –disable-libstdcxx-debug –enable-lto –enable-libgomp –disable-multilib –disable-rpath –disable-win32-registry –disable-nls –disable-werror –disable-symvers –with-libiconv –with-system-zlib –with-gmp=/mingw64 –with-mpfr=/mingw64 –with-mpc=/mingw64 –with-isl=/mingw64 –with-pkgversion=’Rev5, Built by MSYS2 project’ –with-bugurl=https://github.com/msys2/MINGW-packages/issues –with-gnu-as –with-gnu-ld –with-boot-ldflags=’-pipe -Wl,–dynamicbase,–high-entropy-va,–nxcompat,–default-image-base-high -Wl,–disable-dynamicbase -static-libstdc++ -static-libgcc’ ‘LDFLAGS_FOR_TARGET=-pipe -Wl,–dynamicbase,–high-entropy-va,–nxcompat,–default-image-base-high’ –enable-linker-plugin-flags=’LDFLAGS=-static-libstdc++\ -static-libgcc\ -pipe\ -Wl,–dynamicbase,–high-entropy-va,–nxcompat,–default-image-base-high\ -Wl,–stack,12582912′
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.3.0 (Rev5, Built by MSYS2 project)
Si aparece eso, ya puedes compilar programas de C y C++. Si no, por favor revisa los pasos que mencioné anteriormente.