Incluir windows.h con GCC

En este post voy a enseñarte a compilar código C++ o CPP que a su vez usa la API de Windows a través del encabezado windows.h pero sin usar Visual Studio.

Dicho con otras palabras, vas a aprender a compilar código de C++ usando GCC (g++) incluyendo el encabezado windows.h. En mi caso he usado MSYS para instalar MinGW y los compiladores de GCC y G++.

Localizando windows.h

Yo he instalado los compiladores de C y C++ con MSYS2 en C:\msys64 y el windows.h se instaló automáticamente en C:\msys64\mingw64\x86_64-w64-mingw32\include\

Si no lo tienes, debes colocar lo siguiente en la consola de msys2:

pacman -S msys2-w32api-headers msys2-w32api-runtime

Y con eso se debería instalar, para que ahora quede en C:\msys64\usr\include\w32api\

Compilando programa

Ahora solo debemos incluir el header con:

#include <windows.h>

Y al compilar no debería haber ningún problema. Ya podremos usar toda la API de Windows desde C++ compilando con MinGW, GCC, G++ o como le llames.

En mi caso específico me aparecían algunos errores al compilar, por ejemplo:

undefined reference to Funcion

Lo solucioné incluyendo -lwinspool.

Te repito que eso ocurrió en mi caso específico porque necesitaba enlazar la biblioteca winspool a mi programa, pero en tu caso puede que necesites alguna otra biblioteca, solo es cuestión de buscar el nombre de la función.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *