使用Visual Studio 2015编译LLVM/Clang源码

一、下载LLVM/Clang源码

从http://releases.llvm.org/download.html下载LLVM 8.0的源码:
LLVM source code
Clang source code
compiler-rt source code
下载完成后,把llvm-8.0.0.src.tar.xz、cfe-8.0.0.src.tar.xz、compiler-rt-8.0.0.src.tar.xz三个包分别解压出来。

  1. 将cfe-8.0.0.src.tar.xz解压出来的目录更名为clang,放在llvm-8.0.0.src\tools目录下
  2. 将compiler-rt-8.0.0.src.tar.xz解压出来的目录更名为compiler-rt,放在llvm-8.0.0.src\projects
  3. 在llvm-8.0.0.src目录下创建一个build目录,专门用于存放编译生成的文件
  4. 在llvm-8.0.0.src/build目录下再创建一个install目录,作为安装目录

二、使用CMake生成VS工程

1.选择源文件所在路径和编译生成的目标路径
在这里插入图片描述
2.点击Add Entry按钮增加如下属性
在这里插入图片描述
这里可以填写的有效目标为:host, X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore, MSP430, NVPTX, SystemZ, AMDGPU, BPF, CppBackend或者 all,如果有多个目标使用英文分号隔开。
在这里插入图片描述
由于是使用的VS2015进行编译,源码中使用到的有一些C++特性不被支持,所以需要设置LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN属性为true,否则会报错;VS2017及以上版本不需要设置。

3.点击Configure进行编译器配置
在这里插入图片描述
如果需要生成x64平台配置,则需要在设置toolset选项时添加host=x64,否则会报如下警告:

CMake Warning at CMakeLists.txt:33 (message):
Visual Studio generators use the x86 host compiler by default, even for
64-bit targets. This can result in linker instability and out of memory
errors. To use the 64-bit host compiler, pass -Thost=x64 on the CMake
command line.

点了Finish按钮后就开始Configure了,下图红色部分就是报了一个LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN的警告,因为前面已经设置了此属性为true,否则就是直接报错退出了。
在这里插入图片描述
Configure完成后就可以点击Generate进行生成了,生成完成后点击Open Project打开生成的VS解决方案,项目数量比较多,有450多个项目,编译是一个漫长的过程,需要编译几个小时,可以不用全部编译,可以选择clang项目进行编译,VS会自动编译依赖项目。BTW:磁盘空间准备大一点至少留足15个G。

祝好!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值