To the SDL2_Mixer maintainer: The existing Visual Studio 2012 SLN does not
compile unless Visual Studio 2010 is installed. In any case, it builds
with the Visual Studio 2010 toolset which is not what is intended. It is
entirely possible that no one has properly built SDL2_Mixer with VS2012’s
toolset to date.
This is because the PlatformToolset is set to v100 at build time. This
might be surprising, given that each project and configuration explicitly
defines it to v110 in the various .vcxproj files:
DynamicLibrary
false
v110 <— this bit
This is happening because the defaults are being inherited in the .vcxproj
files after the definition is given. This overrides the defaults.
The fix is to put the line
on the third line, right after the tag.
Remove it from the line where it is, currently.
The error message this avoids is:
C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(42,5):
error MSB8020: The builds tools for Visual Studio 2010 (Platform Toolset =
‘v100’) cannot be found. To build using the v100 build tools, either click
the Project menu or right-click the solution, and then select “Update VC++
Projects…”. Install Visual Studio 2010 to build using the Visual Studio
2010 build tools.
Michael Labbe