Release D 2.078.0

Rainer Schuetze r.sagitario at gmx.de
Thu Jan 4 08:15:50 UTC 2018



On 04.01.2018 07:25, thedeemon wrote:
> On Wednesday, 3 January 2018 at 17:43:36 UTC, Martin Nowak wrote:
>> Glad to announce D 2.078.0.
>>
>> This release comes with runtime detection of Visual Studio 
>> installation paths
> 
> I've got a problem with linking phobos64.lib now.
> I run "Visual C++ 2015 x64 Native Build Tools Command Prompt", i.e. 
> cmd.exe with environment set up.
> With dmd 2.077.0 I run "dmd app.d -m64 -ofapp.exe" and it all goes well, 
> compiles and links successfully.
> 
> With dmd 2.078.0 I run "dmd app.d -m64 -ofapp.exe" and get:
> 
> phobos64.lib(stacktrace_196a_3e5.obj) : error LNK2019: unresolved 
> external symbol snprintf referenced in function 
> _D4core3sys7windows10stacktrace10StackTrace13resolveNoSyncFAxmZAAa
> phobos64.lib(parseoptions_bee_21b.obj) : error LNK2001: unresolved 
> external symbol snprintf
> phobos64.lib(demangle_ab0_79b.obj) : error LNK2001: unresolved external 
> symbol snprintf
> phobos64.lib(parseoptions_bee_21b.obj) : error LNK2019: unresolved 
> external symbol sscanf referenced in function 
> _D4core8internal12parseoptions5parseFNbNiAxaKANgaKfQkZb
> app.exe : fatal error LNK1120: 2 unresolved externals
> Error: linker exited with status 1120

What's missing is probably legacy_stdio_definition.lib that has to be 
added to the linker command line for VS2015 or later. You can verify 
this by checking how dmd invokes the linker by adding -v to the dmd 
command line.

I suspect this happens due to the new VS detection in dmd that hasn't 
been followed up by an appropriate installer update (unfortunately it 
didn't make it into this release). Please try replacing the 
Environment64 section in sc.ini with just this:

[Environment64]
LIB=%@P%\..\lib64
DFLAGS=%DFLAGS% -L/OPT:NOICF


More information about the Digitalmars-d-announce mailing list