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

  2. JS 随记

    一.在内联框架中,刷新整个框架,在.net中使用此方法( ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "re ...

  3. Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式

    原文 Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式 第13部分:设置LongListSelector中磁贴的样式 原文地址: http://c ...

  4. VS2010/MFC对话框一:创建对话框模板和修改对话框属性

    创建对话框主要分两大步: 第一,创建对话框资源,主要包括创建新的对话框模板.设置对话框属性和为对话框添加各种控件: 第二,生成对话框类,主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 创建 ...

  5. hdu 4737

    题目链接 直接暴力,或运算只会越来越大 #include <cstdio> #include <cstring> using namespace std; #define N ...

  6. 写一个方法完成如下功能,判断从文本框textbox1输入的一个字符,如果是数字则求该数字的阶乘,如果是小写字条,则转换为大写,大写字符不变,结果在文本框textbox2中显示

    窗体设计: 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

  7. 键盘过滤第一个例子ctrl2cap(4.1~4.4)汇总,测试

    键盘过滤第一个例子ctrl2cap(4.1~4.4)汇总,测试 完整源代码 /// /// @file ctrl2cap.c /// @author wowocock /// @date 2009-1 ...

  8. Android常用动画Frame-By-Frame Animations的使用

    在Android的动画中有一种叫做Frame by Frame 的动画效果,就是跟Flash播放一样,是一帧一帧地显示,如果动画是连续并且有规律的话,就跟播放视频一样. 首先在drawable目录下添 ...

  9. CodeIgniter 应用开发笔记 - 3

    使用migration建数据表 一.新建migrations文件夹 在application新建一个文件夹migrations,存放建表类. 建表类使用用户手册中的代码作为模板(user_guide/ ...

  10. 九度OnlineJudge之1022:游船出租

    题目描述:     现有公园游船租赁处请你编写一个租船管理系统.当游客租船时,管理员输入船号并按下S键,系统开始计时:当游客还船时,管理员输入船号并按下E键,系统结束计时.船号为不超过100的正整数. ...