I've recently faced the same problem and the reason was the following:
VS2017's option "Treat WChar_t As Built-in Type" was "No" (/Zc:wchar_t-)
By default, it's usually On.
But maybe, when I generated configurations for Target Machine: X64 from x86 by copying, it's got off? I don't know. If the settings are copied, the Zc has been Off even for X86?
Anyway, being Off, the function signatures got generated as unsigned short const * i.e. @@@UEAAHPEBG@Z instead of wchar_t const * which is @@UEAAHPEB_W@Z and the linker can't find them.
I've recently faced the same problem and the reason was the following:
VS2017's option "Treat WChar_t As Built-in Type" was "No" (/Zc:wchar_t-)
By default, it's usually On.
But maybe, when I generated configurations for Target Machine: X64 from x86 by copying, it's got off? I don't know. If the settings are copied, the Zc has been Off even for X86?
Anyway, being Off, the function signatures got generated as unsigned short const * i.e. @@@UEAAHPEBG@Z instead of wchar_t const * which is @@UEAAHPEB_W@Z and the linker can't find them.