On Tuesday, 28 April 2020 at 20:18:29 UTC, Adam D. Ruppe wrote:
On Tuesday, 28 April 2020 at 19:25:06 UTC, Sam E. wrote:
I'm a bit surprised to see a linking error given that building directly from `dmd` seems to work fine without any flag.

dmd directly uses -m32 whereas dub by default uses -m32mscoff to dmd.

The mscoff linker (also used for -m64 btw) doesn't add the user32 library by default, you must explicitly add it.

So with dub just add the user32 library to your config file and it should be ok. (I don't recall the syntax for that off the top of my head)

Thanks, that seems to link after adding `libs "user32"` to my `dub.sdl` file.

Though the program built with dub is now crashing at runtime when calling `writeln` within the `WinMain` block.

The exception error is:

Exception has occurred: W32/0xc0000096
Unhandled exception at 0x00007FF643C5AFE4 in test-win32.exe: 0xC0000096: Privileged instruction.

So it feels that something else is missing or wrong.

Any pointer would be helpful :)

Screenshot of the call site: https://postimg.cc/5YtY9PRQ
Screenshot of the expection: https://postimg.cc/K3vKz0pg


Reply via email to