I found issue #29479 after searching for the linking error I was getting, and I believe that this is a new issue. Same error, but I had VS Build Tools 2017 installed. When I installed Rust, I followed the link from the installation page to the 2015 build tools, which currently offers a link to the 2017 tools. I double-checked the Rust installation page and since it said "...requires the C++ build tools for Visual Studio 2013 or _later_", I went ahead and installed 2017.
In any event, I think, at the very least, the docs should be updated to reflect that 2017 will not work, for the time being.
I didn't say this in my original post, but installing the 2015 tools fixed the issue. Tested both a trivial 'hello world' program and the original problem I was having, which was Racer failing to build at kernel32-sys with a linker error. Neither succeeds with 2017, both succeed with 2015.
2017 will work from the MSVC build tools shell. Closing as a duplicate of https://github.com/rust-lang/rust/issues/38584.
I would argue that the (Rust) documentation still needs to be updated. At least the installation page. As it stands, there is extra work involved in getting Rust on Windows to work with VS Build Tools 2017 or - alternatively - install the 2015 tools instead. This extra work is not mentioned in the Rust install docs for Windows. If nothing is done, I suspect you will have future Rust newcomers complaining about the same thing, which is contrary to the current goal of making Rust easier for newcomers to learn.
Just my two cents.
On Windows, Rust additionally requires the C++ build tools for Visual Studio 2013 or later. The easiest way to acquire the build tools is by installing Microsoft Visual C++ Build Tools 2019 which provides just the Visual C++ build tools. Alternately, you can install Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, or Visual Studio 2013 and during install select the “C++ tools.”
The above content is from the official document.
Most helpful comment
I would argue that the (Rust) documentation still needs to be updated. At least the installation page. As it stands, there is extra work involved in getting Rust on Windows to work with VS Build Tools 2017 or - alternatively - install the 2015 tools instead. This extra work is not mentioned in the Rust install docs for Windows. If nothing is done, I suspect you will have future Rust newcomers complaining about the same thing, which is contrary to the current goal of making Rust easier for newcomers to learn.
Just my two cents.