On Tuesday, 3 July 2018 at 17:54:08 UTC, Seb wrote:
BTW in case someone has a bit of time to look at the MinGW headers. They are built as part of the `build-mingw-libs` branch at the installer repo:

https://github.com/dlang/installer/blob/build-mingw-libs/windows/build_mingw.bat

This is automated via AppVeyor:

https://github.com/dlang/installer/blob/build-mingw-libs/appveyor.yml

And it's added to the zip here:

https://github.com/dlang/installer/blob/master/create_dmd_release/build_all.d#L505

I think the installer detects whether Visual Studio is installed or nor, but I'm not sure on this (I don't use Windows).

AFAICT, the issue is that MinGW is used, as opposed to MinGW-w64 (a confusingly separate project unfortunately AFAIK). There's no SetWindowLongPtr for Win32, it's #defined as SetWindowLong. The 64-bit user32.def of MinGW-w64 contains it [1], while it's missing in the MinGW .def file [3] and the 32-bit MinGW-w64 one [2].

[1] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib64/user32.def [2] https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-crt/lib32/user32.def [3] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/5.0-active/tree/w32api/lib/user32.def

Reply via email to