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