由于现实的一些原因,并不是所有人都能很方便的享受到C++11 特性。特别是C++ Primer 第五版 和 The C++ Programming Language 第四版等全面C++ 11 铺开以后,这种不便就开始困扰了一些新手。
如果是Linux或者Mac OS X的环境,选择 clang 3.3 (或者Xcode 4.6 以上)、 GCC 4.8.1 (主要发行版 Ubuntu 14.04、Debian 8、Fedora 20、CentOS 7 等) 或者参见 先前博客 就选择一款适合自己需求的编译器,就可以使用完全的C++11 的语言特性。
Windows 下的编译链
可选的有
- Microsoft 的Visual Studio
- Mingw64 下的GCC
- Mingw64/MSVC下的Clang
- Intel C++ Compiler
实际上符合C++11 特性完整要求的,或者基本满足要求的
- Visual Studio 2013/2015
- GCC 4.8.1 + Mingw64
- Mingw64/MSVC下的Clang >= 3.6
- Intel C++ Compiler 15
下面推荐几个比较适合个人使用的环境
IDE 组
- Visual Studio 2013 Community Edition 免费使用的Vistual Studio,好处是不用付费。
- Visual Studio 2015 Preview 免费使用的Vistual Studio,好处是2015版本C++11特性支持更完整。
- Qt Creator 免费使用的跨平台IDE,好处是可以自由选择GCC/MSVC编译链,还有基于libclang的代码补全。
- CLion 新生代的IDE,好处是特性支持比较新,比如内建支持CMake。
Terminal 组
- cygwin 环境,需要通过手动选择安装gcc,好处是POSIX 特性支持完整。
- MSYS2 环境,需要通过pacman 手动安装gcc或者clang,好处是可以安装cygwin版本的工具又可以用mingw版本的工具输出原生程序。
其他编译链
- MSVC 内建在 Visual Studio 中。
- Intel C++ Compiler 商业版本,产生代码质量高。
- mingw-build 使用人数众多,更新也快。
- TDM-GCC 4.9.2 老牌Mingw环境的编译链。
- nuwen MinGW Distro 包含常见库如Boost的Mingw 编译链,支持64位。
- Clang WinBuild 实验性质。需要配合Visual Studio 或者Windows SDK 使用。
最后建议新手可以在IDE 组里选择或者在Terminal 组里选择。其他编译链可以用于替换IDE/Terminal中默认的编译链。
最后使用非MSVC编译器的时候,记得选择或者加入-std=gnu++11
的选项,不然默认是不会开启C++11模式的。
http://cn.windyland.me/2015/04/27/programming-cxx11-on-windows/