Dropping VS 2012 (aka VS11) support

Visual Studio 2012 support has been deprecated since November. I’d like to have it killed as soon as possible.

VS 2013 brings several high value C++11 features (eg. initializer lists/uniform initialziation, variadic templates, non-static class member initializers, constructor delegation), improved Git support and a number of editor improvements.

The questions:

  1. Are there any developers still using VS 2012?
  2. What are potential problems with migration to VS 2013 and what can I do to help?

The one issue I know about is building Boost libraries from Git. I’ll put the instructions on wiki. Is there a need to provide working Boost binaries? (like I did with Qt)

If there’ll no opposition, I’ll remove VS 2012 support really soon.

I use MVS 2012 ultimate and don’t have access to 2013 ultimate (yet). So the best I could do is to install Express. At the moment I’m not sure if some of the important feature won’t be missing.

The “Express” edition doesn’t have profiler and doesn’t support extensions.

If you expect to get VS 2013 license relatively soon, then I believe you can install the trial and then use the product key to activate it within 90 days.

This will be great.

Can MS VS 2012 Ultimate and MS VS 2013 Express be installed in the same system?

Yes, they can.

Then I’ll do it.

Just installing Visual Studio 2013.

It doesn’t mean, however, that I set up everything quickly or will continue VCMI development any soon :stuck_out_tongue:

I see ffmpeg branch merged in a way that breaks old VS. So I guess we can update this section on our wiki to include more c++11 stuff?
wiki.vcmi.eu/index.php?title=Cod … B_Standard
Does VS 2013 actually support all of these without any major issues?

These 3 are especially interesting:
initializer lists,
variadic templates,
non-static data member initializers

I believe so.

Mostly. Microsoft never gets new features right in the first release. After 3 updates they all work reasonably well with one notable exception: non-static data member initialization cannot be used together with the new brace-initialization syntax. Prior to Update 3 it sometimes worked and sometimes generated bad code, in Update 3 they disabled the feature altogether: blogs.msdn.com/b/vcblog/archive/ … ation.aspx