Release D 2.078.1

Rainer Schuetze r.sagitario at gmx.de
Tue Jan 23 21:06:00 UTC 2018



On 23.01.2018 14:08, thedeemon wrote:
> On Monday, 22 January 2018 at 20:43:56 UTC, Martin Nowak wrote:
>> Glad to announce D 2.078.1.
> 
> 
> The Windows 7z archive version now has much simpler sc.ini, in fact too 
> simple.
> With Visual C++ 2015 x64 Native Build Tools now trying to run
> dmd -m64 hi.d
> I get
> LINK : fatal error LNK1104: cannot open file 'libucrt.lib'
> Error: linker exited with status 1104
> 
> So I needed to edit sc.ini and add back
> LIB=%LIB%;"%UniversalCRTSdkDir%\Lib\%UCRTVersion%\ucrt\x64"
> to the [Environment64] section.
> 
> Then it went just as 2.078.0 - still missing 
> legacy_stdio_definitions.lib that I need to add manually in the command 
> line.

The UCRT library path and legacy_stdio_definitions.lib should have been 
detected automatically.

I suspect that the Build Tools don't set the environment variable 
VisualStudioVersion (why should they?) which is used to detect whether 
the UCRT library path and legacy_stdio_definitions.lib are needed.

This PR https://github.com/dlang/dmd/pull/7500 would have fixed that by 
changing the detection to the existence of legacy_stdio_definitions.lib 
in the VC library path. Unfortunately it didn't make it into the 
release. (The PR contains other stuff, too, that was not meant to go 
into a .1 release.)

(Having VS installed would help, too, as it is also detected without the 
environment set.)


More information about the Digitalmars-d-announce mailing list