www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 17280] New: dmd -m64 mode hard-code error libpath with vs2017

https://issues.dlang.org/show_bug.cgi?id=17280

          Issue ID: 17280
           Summary: dmd -m64 mode hard-code error libpath with vs2017
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P1
         Component: druntime
          Assignee: nobody puremagic.com
          Reporter: fyaoxy gmail.com

in x64 mode, run:
dmd -m64 winsamp -L-Subsystem:Windows user32.lib -v

get:
D:\apps\Microsoft\2017\buildtool\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\link.exe
/NOLOGO winsamp   /DEFAULTLIB:"user32.lib" -Subsystem:Windows /OPT:NOICF
/LIBPATH:"D:\apps\Microsoft\2017\buildtool\VC\Tools\MSVC\14.10.25017\lib\amd64"
/LIBPATH:"C:\Program Files (x86)\Windows Kits\10\\lib\x64" 
/LIBPATH:"C:\Program Files (x86)\Windows Kits\10\\lib\10.0.14393.0\ucrt\x64"
legacy_stdio_definitions.lib

There is no amd64 dir in vs2017, f.e.
D:\apps\Microsoft\2017\buildtool\VC\Tools\MSVC\14.10.25017\lib\amd64
shoudl be 
D:\apps\Microsoft\2017\buildtool\VC\Tools\MSVC\14.10.25017\lib\x64

and link.d:257
if (global.params.is64bit)
                    cmdbuf.writestring("\\lib\\amd64\"");
should be x64

It seems there is a need to add LIBPATH just like LIB in sc.ini.

--
Mar 28