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

    http://httpbin.org/ Tracing XML request/responses with JAX-WS: http://stackoverflow.com/questions/19 ...

  2. STL string 模拟

    下面的代码来自c++ primer plus第5版第12章,书中代码写的非常好: // string1.h -- fixed and augmented string class definition ...

  3. 链接分析算法之:HITS算法

    链接分析算法之:HITS算法     HITS(HITS(Hyperlink - Induced Topic Search) ) 算法是由康奈尔大学( Cornell University ) 的Jo ...

  4. cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(五)-地图卷动

    马里奥在平移的过程中,涉及到地图的卷动问题. 在这个游戏里,地图比窗口大,窗口只是显示了地图的一部分,因此马里奥在移动的时候,移动到一定位置之后要卷动地图,否则马里奥移动到窗口右边之后......那结 ...

  5. php调用com组件配置 以openoffice为例

    什么是com组件? COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统.COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件 ...

  6. pxe网络安装操作系统 原理与详细过程

    摘要:在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机不带光驱或软驱,或者是笔记本配置的非标准的软驱和光驱,如1394接口,USB接口等,在Linux安装时所引导的Linux内核一 ...

  7. Java class文件分析工具 -- Classpy

    Classpy Classpy是一个图形化的class文件分析工具,功能和javap类似,界面主要參考了Java Class Viewer: 为什么要又一次创造轮子? 写这个工具花了将近一周的时间.那 ...

  8. Oracle自带的exception

    存储过程中自带的exception: --查询人员资料历史 BEGIN SELECT * INTO Po_Sac01 FROM Sac01 WHERE Aac001 = Pi_Aac001 ); EX ...

  9. PigCms 回复消息 "域名授权错误! 您使用的微信平台或源码为盗版"

    本文地址:http://duwei.cnblogs.com/ Pigcms 将自动回复的API 写死了, 这里提供一个可用的API 在 PigCms/Lib/Action/Home/Weixinact ...

  10. 我的Python成长之路---第三天---Python基础(11)---2016年1月16日(雾霾)

    三.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝以及深拷贝 讨论深浅拷贝之前我们把Python的数据类型分为基本数据类型包括数字.字符串.布尔以及None等,还有 ...