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.)