Requisitos
APT
sudo apt install mingw-w64 binutils-mingw-w64 binutils-mingw-w64-x86-64 g++ g++-mingw-w64 -y
PACMAN
pacman -S mingw-w64-x86_64-gcc mingw-w64-cross-binutils
Código Fuente
Ejecutable
Si el código fuente se guarda con codificación ANSI, se pueden mostrar acentos.
//test.cpp
#include <windows.h>
int APIENTRY WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
int respuesta = MessageBox
(
NULL,//Owner
"¡Hola, Mundo! :V\n\ráéíóú",//Mensaje (Cuerpo)
"Prueba", //Título
MB_ICONINFORMATION | MB_YESNO | MB_DEFBUTTON1 //Apariencia
);
return respuesta == MB_OK ? ERROR_SUCCESS : ERROR_GEN_FAILURE;
}
Ícono (opcional)
//app.rc
APP_ICON ICON "app.ico"
Compilación
Ícono (Opcional)
Debe de compilarse antes que el ejecutable.
x86_64-w64-mingw32-windres app.rc -O coff -o app.res
Con MSYS2 podemos quitar el prefijo
x86_64-w64-mingw32-
windres app.rc -O coff -o app.res
Ejecutable
Si queremos que nuestro ejecutable tenga un ícono, agregamos el archivo .res que compilamos del ícono.
Usamos el parámetro
mwindows para indicar que se genere una aplicación GUI en lugar de consola.
x86_64-w64-mingw32-g++ -mwindows -o test.exe test.cpp app.res
g++ -mwindows -o test.exe test.cpp app.res
Resultado
Referencias