Installer le compilateur MinGW-w64 gcc
voir le lien sur le compilateur mingw-w64

win32++
Win32++ consiste en une bibliothèque C++ pour pouvoir créer des applications Windows. C'est une alternative logiciel libre aux MFC.
Les includes sont à télécharger et placer dans un répertoire utilisateur

Le premier programme win32++ (Fichier simpliest.cpp)

#include "wxx_wincore.h"

// Note:  
//  Add the Win32++\include  directory to project's additional include directories.


// A class that inherits from CWnd. It is used to create the window.
class CMyWindow : public CWnd
{
public:
  CMyWindow() {}
  virtual ~CMyWindow() {}
  
  // Ends the program.
  virtual void OnDestroy() 
  {
    PostQuitMessage(0); 
  }	

  virtual void OnDraw(CDC& dc)
  {
    dc.TextOut(20, 20, _T("Hello Win32++"));
  }
};

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
  // Start Win32++.
  CWinApp myApp;

  // Create a CMyWindow object.
  CMyWindow myWindow;

  // Create (and display) the window.
  myWindow.Create();
  myWindow.SetWindowText(TEXT("Win32++ Example"));

  // Run the application's message loop.
  return myApp.Run();
}

Le makefile (fichier makefile)
Pour une application fenêtre toute simple en C++

SRC=.
OBJ=release/obj
BIN=release

WIN32++INCLUDE=./Win32xx1020/include

target: $(BIN)/simpliest.exe

$(OBJ)/simpliest.o: $(SRC)/simpliest.cpp
	x86_64-w64-mingw32-g++ -I$(WIN32++INCLUDE) -c $(SRC)/simpliest.cpp -o $(OBJ)/simpliest.o

$(BIN)/simpliest.exe: $(OBJ)/simpliest.o 
	x86_64-w64-mingw32-g++ $(OBJ)/simpliest.o \
	-lcomctl32 -lole32 -lcomdlg32 -lgdi32 \
	-o $(BIN)/simpliest.exe
	strip $(BIN)/simpliest.exe

Compilation
On lance la compilation avec make
./Win32xx1020/include/wxx_setup.h:65:10: fatal error: WinSock2.h: No such file or directory
65 | #include <WinSock2.h> // Must include before windows.h.
il faut aller corriger deux lignes dans l'include wxx_setup.h
remplacer WinSock2.h par winsock2.h et Windows.h par windows.h
car Linux tient compte des majuscules contrairement à Windows.

Exécution
aller dans le répertoire release (cd release)
lancer ./simpliest.exe ou wine simpliest
Il se pourrait que rien ne se passe.

copier les dll manquantes, le temps du test, après il faudra les copier dans wine.

cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcc_s_seh-1.dll .
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libstdc++-6.dll .
cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libwinpthread-1.dll .
Et là miracle, le programme ouvre une fenêtre !