Issues with undefined symbols when using Vibe on Windows

kinke noone at nowhere.com
Tue Jul 3 18:35:43 UTC 2018


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


More information about the Digitalmars-d-learn mailing list