免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 18318 | 回复: 7
打印 上一主题 下一主题

[C] clang/llvm在windows下面怎么配置? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-06 12:03 |只看该作者 |倒序浏览
我直接使用官方网站下载2.6源代码(为了少出错,直接用的稳定版而不是svn的),然后按照文档使用vs2008编译好程序,但是在实际使用的时候没办法编译。
clang-cc helloworld.c(最简单的控制台c代码),结果老是提示找不到include文件。
我直接用了mingw的头文件和库,没有用,然后换成vc的,同样没用。
请问该怎么设置?

论坛徽章:
0
2 [报告]
发表于 2011-10-12 10:35 |只看该作者
我的也是。

下载llvm-2.9-mingw32-i386.tar.bz2和clang-2.9-mingw32-i386.tar.bz2文件,并解压缩到一起,在系统环境变量中添加llvm的bin和include。运行clang helloworld.c,也是提示找不到include文件。

把llvm和clang合并到mingw中,并修改llvm的环境变量为mingw的环境变量,运行clang helloworld.c,依旧提示找不到include文件。

论坛徽章:
0
3 [报告]
发表于 2011-10-12 11:27 |只看该作者
本帖最后由 wkx9dragon 于 2011-10-13 14:50 编辑

mingw 是可以的,得看你的mingw是谁的,我试过标准mingw和tdm-mingw,都可以,dragon-mingw就不可以了,可能跟clang 中的某个硬连接有关,不信你看看clang中得的某个配置文件,当年我试过,的修改源文件,最后编译进clang中。
1)下载llvm-2.9.tgz
2)下载clang-2.9.tgz
3)解压llvm到某个目录下
4)解压clang到llvm\tools\ 目录下
5)改名llvm\tools\clang-2.9为 llvm\tools\clang
6)新建一个目录build,最好和llvm并排,或者在llvm目录下。
7)下载cmake,并安装。
8)下载某种mingw(推荐tdm-mingw和标准mingw)
9)在环境变量中设置mingw,如果是tdm-mingw,只要path \mingw\bin;%path%;就可以了,标准mingw好像还得设置include,c_lib等等,详细的忘了,百度,google搜索吧,
10) 在build目录下执行 cmake -G "MinGW Makefiles" llvm目录 (如果是vc,就得“VS2010”等等了)
11)make install
12)这个时候编译的clang使用的时候, 可是离不开mingw或者vc的,因为它要调用mingw或vc的共享库。
clang 在windows里编程,目前还不是很好用当语法分析器还是不错的,等3.0吧。
llvm-3.0马上就要出来了,到时候大家一起讨论。

如果你要下现成的化,看看源代码中的设置路径吧,必需和他一致。  也就是说mingw只能装在c:\目录下,版本号也只能是这里面的,比如4.5.3
在clang\lib\\Frontend\InitHeaderSearch.cpp中
AddPath("c:/mingw/x86_64-w64-mingw32/include",
AddPath("/mingw/include", System, true, false, false);
AddPath("c:/mingw/include", System, true, false, false);
AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", "i686-pc-cygwin", "4.3.4
AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", "i686-pc-cygwin", "4.3.2
AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", "i686-pc-cygwin", "3.4.4
ase llvm::Triple::MinGW32:
// FIXME: We should be aware of i686-w64-mingw32.
   // mingw-w64-20110207
   AddMinGW64CXXPaths("c:/mingw/x86_64-w64-mingw32/include/c++/4.5.3");
   // mingw-w64-20101129
   AddMinGW64CXXPaths("c:/mingw/x86_64-w64-mingw32/include/c++/4.5.2");
AddMinGWCPlusPlusIncludePaths("/mingw/lib/gcc", "mingw32", "4.5.2");
AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.5.0");
AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.4.0");
AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.3.0");

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
4 [报告]
发表于 2011-10-12 12:00 |只看该作者
只在Linux下面用过,编译速度很快,warning是彩色的,而且比较多....

论坛徽章:
0
5 [报告]
发表于 2011-10-12 21:39 |只看该作者
必须要编译吗,不能用官网的mingw32二进制版?

论坛徽章:
0
6 [报告]
发表于 2011-10-13 15:45 |只看该作者
在VMPlayer中的Debian6下编译LLVM+Clang,出现out of memory and no killable process的错误。

论坛徽章:
0
7 [报告]
发表于 2015-08-12 20:32 |只看该作者
没有cmake当然不能编译

论坛徽章:
44
15-16赛季CBA联赛之浙江
日期:2021-10-11 02:03:59程序设计版块每日发帖之星
日期:2016-07-02 06:20:0015-16赛季CBA联赛之新疆
日期:2016-04-25 10:55:452016科比退役纪念章
日期:2016-04-23 00:51:2315-16赛季CBA联赛之山东
日期:2016-04-17 12:00:2815-16赛季CBA联赛之福建
日期:2016-04-12 15:21:2915-16赛季CBA联赛之辽宁
日期:2016-03-24 21:38:2715-16赛季CBA联赛之福建
日期:2016-03-18 12:13:4015-16赛季CBA联赛之佛山
日期:2016-02-05 00:55:2015-16赛季CBA联赛之佛山
日期:2016-02-04 21:11:3615-16赛季CBA联赛之天津
日期:2016-11-02 00:33:1215-16赛季CBA联赛之浙江
日期:2017-01-13 01:31:49
8 [报告]
发表于 2015-08-12 22:28 |只看该作者
回复 7# tianguau

楼上挖的一手好坟……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP