My software is written in C++/MFC. I target Windows XP and later. Hence, I cannot upgrade to Visual Studio 11 since MFC 11.0 does not support Windows XP. Still, I would like to benefit from the improved optimizer in VC11. (Currently, I don’t need the new C++11 stuff.)
I can think of two solutions, but maybe there are others too:
- Replacing the compiler in VC10 with the one from VC11.
- Upgrading to VC11 and use old MFC 10 from VC10.
Which approach would you recommend?
Edit: Visual Studio 2012 seems to have C++ support for XP. Does this apply MFC too?
While you can change Platform Toolsets to VC10 or before, this is not exactly ideal.
Pending an OOB update from Microsoft (see below), you can NOT target XP/2003 with VC11. You can only switch platform toolsets. The CRT uses NT6+ specific APIs.
Indeed, I want the optimizations of VC11 as well. However, I must maintain support for XP/2003.
Microsoft announced, actually prior to the RTM of VS2012, that support for XP/2003 would be re-enabled for VC11 in some pending out of band update ‘later this fall’ (of 2012). Here we wait …
The CTP of ‘Update 1’ has now been released, supporting XP as a build target for VC11 (as a specifically set CRT differentiated from VC11). It is available for download here: http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx .. Released 2 days ago (Oct 8 2012).