Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual Studio 2008 with c++11

Can I somehow make Visual C++ 2008 to have C++11 library and use all the good things C++11 standard allows?

like image 663
Ivars Avatar asked Nov 30 '13 16:11

Ivars


3 Answers

In short words, it's impossible. VS2008 has no C++11 support and replacing the libraries would lead to chaos.

In long words, you maybe could do something:

  1. Use another compiler: C++ compiler support (Updated Link)
  2. You could upgrade your visual studio, but even MSVC12 (visual studio 2013) is not supporting all of C++11 standard.
  3. You could embed the Intel compiler into your visual studio. But also Intel is not fully supporting C++11, nevertheless more than MSVC. Here (Updated link now provides a general description) a small howto embed the Intel compiler.
  4. Update: clang is now also able to be used with visual studio, see here.
  5. Update: As Melebius stated in the comments, MSVC19 (VS2015) finally supports most of the C++11 standard... Support For C++11/14/17 Features (Modern C++)
like image 95
user1810087 Avatar answered Oct 04 '22 08:10

user1810087


If you're stuck using MSVC 2008 or 2010, I've managed to implement various C++11 (and some possibly-C++14) features for it as part of my cxxomfort backports library. Of course features that rely on lexer/parser support (such as variadic templates) can not be emulated, but for the most part it allows me to write forwards-compatible code in MSVC 2008 Express (my main Windows target).

However the idea would be that you use another compiler. There's GCC support for about as hight as 4.6 for Windows XP (via eg.: Mingw installer), and it brings about most of the important C++11 niceties such as variadic templates and constexpr, noexcept.

like image 28
Luis Machuca Avatar answered Oct 04 '22 08:10

Luis Machuca


Some of the basics of the C++11 standard library are available in VS2008 by using Boost, which has plenty more useful tools too.

like image 45
G Huxley Avatar answered Oct 04 '22 10:10

G Huxley