I understand that attempting to link objects/libraries that were compiled with different Visual C++ toolset versions will result in failure as was described here error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj.
However, when working with the 2010 DirectX SDK there is seemingly no problem with linking to these old libraries (eg. d3d11.lib, etc.) even if we use VC++12/13/15.
Why is it that we can link to these old DirectX libraries but not ones created by earlier versions of VC++. Also, if not VC++, what was used to compile these DirectX libraries in the first place?