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

Robert M. Münch robert.muench at saphirion.com
Tue Mar 5 07:10:51 UTC 2019


On 2019-03-05 05:03:42 +0000, Mike Parker said:

> On Tuesday, 5 March 2019 at 04:32:57 UTC, evilrat wrote:
>> 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
> 
> This has nothing to do with dub, so that’s the wrong place for it. The 
> dmd for windows docs needs to make clear the distinction between the 
> linkers and the differences in behavior, and point to the linked docs 
> for options. I just checked the Optlink page and didn’t see /subsystem 
> documented, so that needs to be fixed. I’ll put it on my todo list.

My missing point was, that I didn't expect to work with two different 
links. And I totally agree, DUB needs to mention this. Make everyones 
live easy. I don't want to dig through fragmented information, collect 
and sort all pieces etc. That's just waste of time. If I use DUB, I 
want to see all things around building D programs. That simple... Is 
there an

I have never seen *-x86_mscoff mentioned anywhere...

-- 
Robert M. Münch
http://www.saphirion.com
smarter | better | faster



More information about the Digitalmars-d-learn mailing list