由于现实的一些原因,并不是所有人都能很方便的享受到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/

在Windows下搭建C++11 编译环境(附下载,包括mingw-build,TDM-GCC, nuwen MinGW Distro)的更多相关文章

  1. 【Go】windows下搭建go语言编译环境

    主要是协助杨哥做Kubernetes相关工作,由于Kubernetes和Docker都是由Go语言编写,因此改源码后还是需要go语言编译器来编译运行.所以打算先在windows上安装一下go语言环境. ...

  2. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

  3. windows下搭建nginx+php开发环境

    windows下搭建nginx+php开发环境 1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: ...

  4. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

  5. 【RN - 基础】之Windows下搭建React Native开发环境

    前言 React Native由Facebook公司于2015年F8大会上开源,其主张“Learn once, write everywhere”.React Native的核心设计理念是:既拥有Na ...

  6. kubernetes实战之consul篇及consul在windows下搭建consul简单测试环境

    consul是一款服务发现中间件,1.12版本后增加servicemesh功能.consul是分布式的,可扩展的,高可用的根据官方文档介绍,目前已知最大的consul集群有5000个节点,consul ...

  7. Sublime Test 3 搭建C++11编译环境(Windows)

    0. 我的环境: Windows 8.1,Sublime Test 3 - Build 3126,CodeBlocks 16.01. 1. 下载Sublime Test 3,以及安装Package和各 ...

  8. Windows下搭建Android NDK开发环境及命令行编译

    首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...

  9. Windows下QT4.8.4编译环境的搭建(转载http://blog.csdn.net/bestgonghuibin/article/details/38933141)

    开始使用QT了,所以第一步就是把环境搭起来,这里小记一下,以免以后忘记. 1. 下载安装文件 要使用QT功能,那么必须要下载QT的源码,还必须要一个是用QT的编译环境,可以是VS2010,也可以是专用 ...

随机推荐

  1. QT自定义对象导入JavaScript脚本使用

    1.对象 项目属性要添加 QT += script自定义的对象头文件如下,实现正常就好,记得脚本里要调用的方法一定要定义在public slots:下,要不然调用时提示该对象没有*方法   #ifnd ...

  2. ASP.NET MVC5 学习笔记-1 控制器、路由、返回类型、选择器、过滤器

    [TOC] 1. Action 1.1 新建项目 新建项目->Web->Asp.net Web应用程序,选择MVC,选择添加测试. 在解决方案上右键,选择"管理NuGet程序包& ...

  3. 高级UNIX环境编程2

    perror("error:") ;  strerror 日历时间:time_t (1970.1.1开始的秒数)     struct timeval (秒数和微秒)  struc ...

  4. poj3308Paratroopers(最小割)

    题目请戳这里 题目大意:给一个n*m的矩阵,给一些点(ri,ci)表示该点在第ri行第ci列.现在要覆盖所有的点,已知覆盖第i行代价为Ri,覆盖第j列代价为Cj.总代价是累乘的,求最小总代价能覆盖所有 ...

  5. 开机时进入 grub rescue>的解决方法

    本机是centOS7和win8的双系统 之前在win上把一个空的磁盘空间释放了 可能造成了grub的一些问题 具体还没有研究过 开机后无法正常进入grub引导画面 而是跳出一串英文+ grub res ...

  6. uva11178 Morley’s Theorem(求三角形的角三分线围成三角形的点)

    Morley’s Theorem Input: Standard Input Output: Standard Output Morley’s theorem states that that the ...

  7. route-over VS mesh-under

    近期在网上看到一篇专门介绍route-over和Mesh-under的论文,介绍的比較具体: ip=183.63.119.35&id=1582643&acc=ACTIVE%20SERV ...

  8. 【Eclipse】报错提示删掉@Override

    是因为项目的JRE System Library版本不对,点击Edit进入Edit Library 界面,因为项目默认是使用Eclipse自带的jdk版本(Workspace default JRE) ...

  9. Codeforces Round #315 (Div. 2A) 569A Music (模拟)

    题目:Click here 题意:(据说这个题的题意坑了不少人啊~~~)题目一共给了3个数---- T 表示歌曲的长度(s).S 表示下载了歌曲的S后开始第一次播放(也就是说S秒的歌曲是事先下载好的) ...

  10. YII重点文件

    yii\di\Containeryii\base\Componentyii\base\Objectyii\base\Configurableyii\web\Applicationyii\base\Ap ...