1、安装CMake,安装时注意勾选:把bin路径加入PATH
2、安装python,安装时注意勾选:把bin路径加入PATH 如果忘了加入PATH,后面CMake配置VS工程会失败。
3、安装strawberry-perl,这也是CMake依赖的,它在安装后会自动加入PATH。
4、安装GetGnuWin32,把bin路径加入PATH 进入bin目录,执行download.bat,下载所有组件,耗时很长,慢慢等待。 一定要等所有组件全部下载完,否则,后面CMake配置VS工程会失败。
5、安装VS2019,把C++桌面开发和通用桌面开发,都勾选上,里面有C++编译器和CMake相关工具。
6、解压缩源代码: 解压缩llvm-7.0.1.src.tar.xz,调整目录为 E:/llvm 解压缩cfe-7.0.1.src.tar.xz,调整目录为E:/llvm/tools/clang 解压缩compiler-rt-7.0.1.src.tar.xz,调整目录为E:/llvm/projects/clang
7、运行VS2017的x64 本机工具命令行程序,执行以下命令来生成VS解决方案:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community> e: E:\> cd llvm E:\llvm> mkdir build E:\llvm\build> cd build E:\llvm\build> cmake -G "Visual Studio 15 Win64" e:/llvm注意,Visual Studio 15表示VS2017,Win64表示目标平台是x64。如果是64位平台,请务必选Win64,否则编译出的程序无法运行!顺便说一句,网上几乎所有文章都会告诉你用 -Thost=x64来设置目标x64平台,实际操作下来,根本无效!请严格按照我这里的操作。CMake生成过程中,肯定会出现很多looking for xxx - not found的提示,没关系,不影响构建。如果构建顺利,最后会显示如下结果:-- Configuring done-- Generating done-- Build files have been written to: E:/llvm/build
8、打开VS2019,打开解决方案 E:/llvm/build/LLVM.sln,切换为Release模式。 找到CMakePredefinedTargets目录下的ALL_BUILD工程,开始构建,耗时非常非常长,耐心等待! 构建完成后,输出的bin和lib在以下位置:E:/llvm/build/Release
9、确认编译出的bin是x86还是x64的C:\Program Files (x86)\Microsoft Visual Studio\2017\Community> clang -vclang version 7.0.1(tags/RELEASE_701/final)Target:x86_64-pc-windows-msvcThread model: posixInstallerDir: E:\llvm\build\Release\bin
10、编译测试程序:#include <stdio.h>int main() { printf("Hello world!"); return 0; }运行VS2017的x64 本机工具命令行程序,通过以下命令进行编译:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community> D: D:\> clang --target=x86_64-pc-windows-msvc hello.c -o hello.exe D:\> hello.exeHello world!