我本意是想在windows下学习下C++11,而结果是我的Visual Studio 2012不完全支持,而我又懒得去安装2013/2015,太大了。公司运维也不允许我去下载- -,然后就想能不能在windows环境下搞个gcc玩,然后我又知乎了一把,大意的意见是clang把gcc甩了好远,所以我就决定安装clang环境来学习一下,过程中还是遇了几个坑…

 

-----------------------------------------------------------------------------------------------

下载最新的clang版本,地址:http://www.llvm.org/releases/download.html#3.7.0

然后编写测试用的c代码,保存为demo1.c

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Hello World!");        return 0;
}

使用Win + R,切换到demo1.c的目录下,然后执行clang --verbose demo1.c会遇到错误

找不到stdio.h文件,之后我在网上搜索了好久,比如这一篇文章

http://zanedp.blogspot.com/2014/01/clang-cant-find-stdioh-etc.html

我按照文章提示的步骤进行安装,最后发现遇到这样的错误:

ld.exe: unrecognised emulation mode: i386pep

Supported emulations: i386pe

 

这个问题很头疼,google出来的结果很多,却几乎没什么头绪,最后我在一个邮件列表中找到了答案

http://comments.gmane.org/gmane.comp.lib.boost.devel/262947

缺少stdio.h,下载mingw没有问题,问题是我使用的不是64位的!

然后我搜索关键字“mingw 64”,总算让我找到了答案,下载地址:http://mingw-w64.org/doku.php/download

注意CPU架构选择x86_64,原因就是clang也使用的是该架构编译的

安装成功后,查看gcc的相关信息(需要把gcc安装目录的bin加入到环境变量)

 

如果还编译不通过(我遇到了),关闭当前的dos窗口,然后重新来一遍就可以了

main.cpp的源码:

#include <iostream>
#include <vector>
 
int main()
{
  std::vector<int> vect {1, 2, 3, 4, 5};
  for(auto& el : vect)
    std::cout << " - " << el << std::endl;
 
  return 0;
}

剩下的就请同学们自己愉快的玩耍吧…

windows下clang的安装与使用的更多相关文章

  1. Windows下的Memcache安装 linux下的Memcache安装

    linux下的Memcache安装: 1. 下载 memcache的linux版本,注意 memcached 用 libevent 来作事件驱动,所以要先安装有 libevent. 官方网址:http ...

  2. Windows下的Memcache安装

    Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memca ...

  3. Windows下 VM12虚拟机安装OS X 10.11 和VM TOOLS

    Windows下虚拟机安装Mac OS X —– VMware Workstation12安装Mac OS X 10.11 本文即将介绍WIN虚拟MAC的教程.完整详细教程(包含安装中的一些问题) [ ...

  4. coreseek实战(一):windows下coreseek的安装与测试

    coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...

  5. Windows下Memcache的安装与在php中使用

    memcache dll插件和测试例子下载地址: http://pecl.php.net/package/memcache Windows下Memcache的安装方法 Memcached官方:http ...

  6. Windows下的Memcache安装与测试教程

    Windows下的Memcache安装 1.下载memcache for windows. 下载地址:http://splinedancer.com/memcached-win32/,推荐下载bina ...

  7. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  8. DEDECMS最新5.7版在Windows下的Memcache安装

    一,织梦后台后台设置进入系统后台,在[系统基本参数]下面的"性能选项"卡当中,关于memcache进行如下配置: cfg_memcache_enable : 是否启用memcach ...

  9. Windows下的Memcache安装:

    Windows下的Memcache安装:1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 'c:\memcac ...

随机推荐

  1. VS发布网站详细步骤

    1.打开你的VS2012网站项目,右键点击项目>菜单中 重新生成一下网站项目:再次点击右键>发布: 2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 输入你自 ...

  2. 数据库操作(C#)

    数据库在软件开发中发挥着举足轻重的作用,基本上所有的大项目都会用到数据库.ADO .Net是一组向.Net程序员公开数据访问服务的类,其主要分为数据提供程序(Data Provider)和数据集(Da ...

  3. spider

    from lxml import etreeimport requestsdef getHtml(html): novelcontent = requests.get(html).content re ...

  4. (转) Active Record

    ActiveRecord是什么:1. 每一个数据库表对应创建一个类.类的每一个对象实例对应于数据库中表的一行记录; 通常表的每个字段在类中都有相应的Field;2. ActiveRecord同时负责把 ...

  5. ie6下内容会撑开父级设置好的宽高

    在ie6下,内容的宽高会撑开父级设置好的宽高,在其他浏览器下不会. 会出现的问题是:如果内容宽度大于父级设置好的宽度,内容的最后一个元素会换行显示. 注意:在计算时,务必做到精准,不然可能会产生不必要 ...

  6. Winpcap构建用户级网桥

    Winpcap构建网桥 根据winpcap sdk中的user-level-bridge用户级网桥 |机器1                 |                  |机器2   | | ...

  7. jquery给input域赋值和取值

    参考: http://blog.csdn.net/happymagic/article/details/8707117

  8. SVEditor 1.3.6 发布

    SVEditor 1.3.6 支持代码高亮时没有处理 #ifdefs 语句的问题,支持类.接口.模块.任务和函数的代码折叠,修复了一些 bug. SVEditor 是一个Eclipse的插件,用来编辑 ...

  9. Dynamic CRM 2013学习笔记(四)单据编号及插件批量注册工具

    基本上每个实体form上都会有单据编号,而且不同的实体编号要求还不太一样,这时就需要一个通用的单据编号插件,可配置以应对不同的需求. 下面简单介绍下实现步骤: 1. 创建二个实体,以保存各实体所要求的 ...

  10. Dynamic CRM 2013学习笔记(十七)JS读写各种类型字段方法及技巧

    我们经常要对表单里各种类型的字段进行读取或赋值,下面列出各种类型的读写方法及注意事项: 1. lookup 类型 清空值 var state = Xrm.Page.getAttribute(" ...