在windows下用vc编译llvm+clang

Date:2014-03-14 06:50:00.0

1. 安装cmake(www.cmake.org)和python 2.7

2. 安装visual studio

3. 下载源代码

http://llvm.org/releases/3.4.2/cfe-3.4.2.src.tar.gz

http://llvm.org/releases/3.4.2/llvm-3.4.2.src.tar.gz

http://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz 

http://llvm.org/releases/3.4/lld-3.4.src.tar.gz

http://llvm.org/releases/3.4/clang-tools-extra-3.4.src.tar.gz

全部解压之后,把后面的版本号去掉,即把"-3.4"去掉。 然后按下面方式把5个文件夹合成一个文件夹:

- 把compiler-rt文件夹放到llvm/projects目录下 - 把clang和lld文件夹放到llvm/tools目录下 - 把clang-tools-extra解压缩后放到llvm/tools/clang/tools目录下,改名为extra。

然后就合并完了。

4. 配置

你可采用图形方式来配置。(注意第二行的那个目录不能和第一行相同)

也可采用命令行的方式。我更喜欢命令行的方式。下面说命令行下怎么配置。

在llvm目录下创建一个名为"build"的目录(文件名不要引号)。 然后打开cmd.exe,切换到这个目录下,执行 cmake -G "Visual Studio 12 2013" -DCMAKE_INSTALL_PREFIX=C:\portable\llvm ..

然后它会生成很多很多文件。其中,在build目录下有一个叫llvm.sln的文件。这是visual studio的项目文件 

5.编译并安装

双击打开llvm.sln 在最上方,编译类型那里选"Release" 在左侧项目列表中找到"INSTALL"这个项目,在它上面点右键,点"Build"

p.s. 有的时候安装会出错。我的解决办法是,用Notepad++,查找build目录下的所有cmake_install.cmake文件,把C:/os/llvm/llvm/build/$(Configuration)替换成C:/os/llvm/llvm/build/RelWithDebInfo。我是在C:/os/llvm/llvm/build目录下编译的,如果你是别的目录,可类似解决。

6.与vs集成

假设你把llvm安装在了C:\portable\llvm目录下,那么在C:\portable\llvm\tools\msbuild目录下执行install.bat

7.测试

 见 http://www.sunchangming.com/blog/post/4614.html