Platform and IDE dilemma with C++11

Started by
7 comments, last by Servant of the Lord 10 years, 11 months ago

Hey all,

I'm a C++ coder, and I used to always code with Xcode on Mac. Recently I boot-camped my iMac to run Windows XP, and then acquired Visual Studio 2010 Ultimate and proceeded to use that for C++ projects.

I fell in love with VS2010, and it seems that VS is the industry standard IDE for the type of software development I am interested in, so it would be fantastic to continue using it.

My problem is that VS2010 does not support C++11 features, and I hate writing out a new loop counter variable which is used once to then create a 'currentItem' pointer, it would be fantastic to be able to take advantage of C++11's features. I also try and keep up with the latest technologies and update my coding style to suit, so templates and the rest would be helpful.

If I could purchase Visual Studio 2012 Ultimate is there any way that could run on XP?

Could I configure VS2010 to run using GCC (or the MinGW equivalent), as GCC has C++11 features?

Is there any extensions/hacks/add-ins for VS2010 which can give me C++11 features?

Should I just switch to Xcode, or stay and labour with normal C++?


Thanks

mikenovemberoscar

Advertisement

No clue about the rest but for can you install 2012 on XP the answer is a big no, not even on vista afaik, win7+ only.

I think a better question is why you're even running XP...

While it's possible to switch the back-end of Visual Studio, it's also a non-trivial process that may end up ruining your choice of developing in Visual Studio in the first place.

I would suggest you upgrade your OS. Failing that, I would suggest never using XP, which would mean you would just use Xcode on OS X. Failing that, I would suggest installing Code::Blocks or Qt Creator and using GCC with an IDE that was meant to use it.

Also note that if you want lots of new C++11 features, even VS2012 doesn't support a lot of the features. This little chart tells you what is and isn't missing in VS2012 and VS2010.

[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

Visual Studio 2012 is very limited in C++11 support as well. The stable version of the compiler is lacking some major features like variadic templates, and the preview version is not production ready yet. I did use it for testing, but got several situations already where the compiler was simply to buggy to compile the code properly, and some features aren't implemented at all yet even in the preview version. Personally I managed to hit the limitations of Visual Studio pretty quickly when it comes to C++11 support, so I don't think it's worth the trouble getting VC2012 running on your macbook if your goal is to use C++11. And personally, I would go for C++11 as much as you can, I'm using it as much as I can right now since it really makes things easier. Right now I would go for GCC or Clang, which seem to have a lot better support for C++11 at the moment. I had some test code that to experiment with C++11 that didn't compile with the latest preview version of MSVC, but GCC and Clang both compiled it fine. But in either case, you should drop Windows XP as well.

You should be able to use the Intel C++ Compiler (although its Windows version is not free), it integrates well with Visual Studio: http://www.walkingrandomly.com/?p=4716

C++11 support: http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler

I second QtCreator, and then install the latest MinGW release which supports almost every C++11 feature (though is missing a few of the new standard library classes, last version I checked - not sure if they were added yet).

Thanks for all the replies. Argh I would love Windows 7 but I just can't justify the money for what I'd use it for...

I'll look into Qt Creator for my Windows stuff (there was another IDE, a Linux one but I can't remember it's name).

there was another IDE, a Linux one but I can't remember it's name

Code::Blocks maybe? Or vim though it's not really an "IDE" in the strictest sense.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

QtCreator is cross-platform for Windows, Mac, and Linux, so it might actually be the 'Linux one'.
Or maybe you mean KDevelop.

This topic is closed to new replies.

Advertisement