I was able to fix this problem in VS 2015 with the following steps.
[1] (Not sure this was necessary) Turn off /GL in all components
C/C++ > Optimization > Whole program Optimization > No
In the .VCXPROJ files it's:
<WholeProgramOptimization>false</WholeProgramOptimization>
Turn off /LTCG
Librarian > General > Link Time Code Generation
<LinkTimeCodeGeneration>false</LinkTimeCodeGeneration>
[2] More important step, make sure all components are drawing from the same directories. My main EXE was using:
Release Include
$(WindowsSdkDir)include\um;$(WindowsSdkDir)include\shared;$(UniversalCRT_IncludePath);$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include
Release Library
$(VC_LibraryPath_x86);$(WindowsSdk_71A_LibraryPath_x86);
The .lib was using different directories (wrong):
Release Include
$(VC_IncludePath);$(WindowsSDK_IncludePath);
Release Library
$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86
I changed the .lib directories to be the same as the .exe, and the compilation error disappeared.