在windows下用vc编译llvm+clang

1. 安装cmake(www.cmake.org)和python、perl

2. 安装visual studio

3. 下载源代码

aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/llvm-4.0.1.src.tar.xz
aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/cfe-4.0.1.src.tar.xz
aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/compiler-rt-4.0.1.src.tar.xz
aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/lldb-4.0.1.src.tar.xz
aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/lld-4.0.1.src.tar.xz
aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/clang-tools-extra-4.0.1.src.tar.xz
aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/polly-4.0.1.src.tar.xz
aria2c -x 5 -j 5 -k 1M http://releases.llvm.org/4.0.1/openmp-4.0.1.src.tar.xz

全部解压之后,按照下面的规则放置

mv cfe-4.0.1.src llvm-4.0.1.src/tools/clang
mv compiler-rt-4.0.1.src llvm-4.0.1.src/projects/compiler-rt
mv clang-tools-extra-4.0.1.src llvm-4.0.1.src/tools/clang/tools/extra
mv lldb-4.0.1.src llvm-4.0.1.src/tools/lldb
mv openmp-4.0.1.src llvm-4.0.1.src/projects/openmp
mv lld-4.0.1.src llvm-4.0.1.src/tools/lld
mv polly-4.0.1.src llvm-4.0.1.src/tools/polly

4. 配置

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

也可采用命令行的方式。我更喜欢命令行的方式。下面说命令行下怎么配置。
在llvm目录下创建一个名为"build"的目录(文件名不要引号)。 然后打开"x64 Native Tools Command Prompt for VS 2017",切换到这个目录下,执行

 "C:\Program Files\CMake\bin\cmake.exe" -DLLVM_TARGETS_TO_BUILD="X86" -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=D:\llvm -DLLVM_ENABLE_LLD=ON -DLLVM_INSTALL_UTILS=ON -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_ENABLE_FFI=OFF -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_PEDANTIC=OFF BUILD_CLANG_FORMAT_VS_PLUGIN=ON ../llvm-4.0.1.src

然后它会生成很多很多文件。其中,在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

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥