Switching the platform toolset in project settings is new to me, but I gave it a shot in hopes that I could use C++11 and still target XP machines in Visual Studio 2012 using the 110_xp platform toolset as described by an MSDN page.
Not to my surprise the service no longer starts.
I triple checked that all my projects are using the same platform toolset in my "Retail-XP" build configuration. I also checked that they are all using the multi threaded CRT.
The question that arises is, do third party dependencies have to be built using the same platform toolset? As far as I can tell someone just downloaded the binaries at some point. I have no idea how they were built. All I know is the service use to work on XP, when I built all my stuff using platform toolset 100 (Visual Studio 2010), but in that case I could not use certain C++11 features. Do I need to go download the source for all of them and rebuild them myself using a matching platform toolset? Is there a difference if I link them statically vs dynamically while swithing the platform toolset?
A few example dependencies are zlib and openssl if that makes a difference.