Chinaunix
标题:
clang/llvm在windows下面怎么配置?
[打印本页]
作者:
古墓熊影
时间:
2009-12-06 12:03
标题:
clang/llvm在windows下面怎么配置?
我直接使用官方网站下载2.6源代码(为了少出错,直接用的稳定版而不是svn的),然后按照文档使用vs2008编译好程序,但是在实际使用的时候没办法编译。
clang-cc helloworld.c(最简单的控制台c代码),结果老是提示找不到include文件。
我直接用了mingw的头文件和库,没有用,然后换成vc的,同样没用。
请问该怎么设置?
作者:
sunable
时间:
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文件。
作者:
wkx9dragon
时间:
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");
作者:
egmkang
时间:
2011-10-12 12:00
只在Linux下面用过,编译速度很快,warning是彩色的,而且比较多....
作者:
sunable
时间:
2011-10-12 21:39
必须要编译吗,不能用官网的mingw32二进制版?
作者:
sunable
时间:
2011-10-13 15:45
在VMPlayer中的Debian6下编译LLVM+Clang,出现out of memory and no killable process的错误。
作者:
tianguau
时间:
2015-08-12 20:32
没有cmake当然不能编译
作者:
windoze
时间:
2015-08-12 22:28
回复
7#
tianguau
楼上挖的一手好坟……
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2