DUB / compiling same source and config to different windows subsystems in 32/64 bit

evilrat evilrat666 at gmail.com
Tue Mar 5 04:32:57 UTC 2019


On Tuesday, 5 March 2019 at 03:48:22 UTC, Mike Parker wrote:
> I stopped using WinMain with D a long time ago. It's not 
> necessary. If you always use `main`, then both linkers will 
> provide you with a console subsystem app by default. That's 
> particularly useful during development. You can add a 
> configuration to your dub.json that turns on the windows 
> subsystem for both linkers.
>
> For OPTLINK (x86) you only need to pass to the linker 
> `/SUBSYSTEM:windows`.
>
> For the MS linker (x86_mscoff, x86_64) you need to that and you 
> need to specify that the entry point is `main`, because it will 
> expect `WinMain` when you specify the windows subsystem. You 
> can do that with `/ENTRY:mainCRTStartup`
>
> https://docs.microsoft.com/en-us/cpp/build/reference/subsystem-specify-subsystem?view=vs-2017
> https://docs.microsoft.com/en-us/cpp/build/reference/entry-entry-point-symbol?view=vs-2017

All of this should be added on dub docs with small snippets and 
explanation as a section dedicated to Windows and maybe even on D 
docs as well, because you know, it shows up again and again from 
time to time.


More information about the Digitalmars-d-learn mailing list