前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >windows下clang的安装与使用

windows下clang的安装与使用

作者头像
meteoric
发布2018-11-19 18:36:59
7.7K0
发布2018-11-19 18:36:59
举报
文章被收录于专栏:游戏杂谈游戏杂谈

我本意是想在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

代码语言:javascript
复制
#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的源码:

代码语言:javascript
复制
#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;
}

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

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-12-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com