The mswlib Win32 backend in GTK3V2MAIN fails to compile against modern
MSVC (VS 2022, Windows SDK 10). Errors span the entire library:
undefined struct/union 'control' in mswbox.c, mswbutt.c, mswbitmap.c,
mswchoic.c, and many others — the internal control struct definition
is not visible. mswint.h likely needs to be added to the include path
in app/wlib/mswlib/CMakeLists.txt.
Signature mismatches between mswlib implementations and wlib.h
declarations (e.g. wButtonCreate redefined with different types) —
the GTK3V2MAIN wlib.h public API evolved past what mswlib implements.
All mismatched functions need to be audited and updated.
BC_HORZ undeclared identifier (mswchoic.c) — old Windows API constant
removed from modern Windows SDK. Needs replacement or #define guard.
mswbitmap.c:335 syntax error — likely a BOOL or PIXELFORMATDESCRIPTOR
type collision with the modern SDK.
Windows CI is currently skipped in ci-gtk3.yml (bug #618) until this is
resolved.
Approach:
Phase 1 — Fix include path so mswint.h is found (may resolve cascade errors)
Phase 2 — Audit wlib.h vs mswlib signature mismatches, update implementations
Phase 3 — Fix individual SDK incompatibilities (BC_HORZ, bitmap syntax)
Phase 4 — Re-enable Windows in ci-gtk3.yml and pass CI
Branch: bug-618-mswlib-msvc-porting
Anonymous
Duplicate see bug #612
Diff:
Closed after CI was changed to use MSYS-mingw GTK3 packages