February 19, 2017
https://issues.dlang.org/show_bug.cgi?id=17197

          Issue ID: 17197
           Summary: Link failure with -m64 on Windows
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Windows
            Status: NEW
          Severity: normal
          Priority: P1
         Component: visuald
          Assignee: nobody@puremagic.com
          Reporter: zan77137@nifty.com

VisualD produces a build error at link process:
std.utf.UTFException@c:\s\d\rainers\phobos\std\utf.d(1339): Invalid UTF-8
sequence (at index 3)

As far as I searched, an argument with pipedmd.exe that is a build command generated by VisualD was lacked.

------
"C:\Program Files (x86)\VisualD\pipedmd.exe" -deps obj\debug\dummy\test\test.lnkdep link.exe @C:\Work\test\.dub\obj\debug\dummy\test\test.build.lnkarg
------
Probably, as for the command mentioned above in build log, the following commands are more right.
------
"C:\Program Files (x86)\VisualD\pipedmd.exe" -msmode -deps obj\debug\dummy\test\test.lnkdep link.exe @C:\Work\test\.dub\obj\debug\dummy\test\test.build.lnkarg
------


This error occurs because of pipedmd.exe does not convert the localized string
that link.exe output into UTF-8 correctly.
pepedmd.exe has to convert correctly and has been already implemented with the
function.
I found the function in tools/pipedmd.d(338).
-msmode flag is necessary to let the function activate.
VisualD has to generate a command correctly to pass -msmode flag to
pipedmd.exe.

--