手动编译一个windows下64位的LLVM3.3(clang3.3)
写在前面
LLVM的官网(https://releases.llvm.org/download.html#3.3)从3.4版本开始有windows版本了,但是3.3版本没有,所以手动编译一个。
- 首先从官网下载三个源文件
1. LLVM source code 地址 https://releases.llvm.org/3.3/llvm-3.3.src.tar.gz
2. Clang source code 地址https://releases.llvm.org/3.3/cfe-3.3.src.tar.gz
3. Compiler RT source code 地址 https://releases.llvm.org/3.3/compiler-rt-3.3.src.tar.gz
网页中大致如图
- 然后解压三个源文件
1. 先解压llvm-3.3.src.tar.gz后文件夹为llvm-3.3.src
2. 解压cfe-3.3.src.tar.gz 放置在llvm-3.3.src文件夹下的tools下面,并重命名为clang
3. 解压compiler-rt-3.3.src.tar.gz放置在llvm-3.3.src文件夹下的projects下面,并重命名为compiler-rt
- 接下来确保电脑安装了cmake、svn(tortoise)、vs(Visual Stdio) 、python,我电脑中的版本分别是cmake3.14.6、svn1.12.2、vs2010、Python2.7.13
- 然后打开cmake,设置源路径,构建路径以及三个参数
source地址 D:/LLVM3.3/llvm-3.3.src
build地址 D:/LLVM3.3/build
1. 参数LLVM_TARGETS_TO_BUILD 类型STRING 值X86;PowerPC
2. 参数CMAKE_INSTALL_PREFIX 类型PATH 值D:\LLVM\build\install
3. 参数DCMAKE_OSX_ARCHITECTURES 类型STRING 值x86_64
大致如图
- 点击Configure选择vs2010,然后点击Generate就会在build文件中自动生成一个工程。
运行后笔者遇到了一个错误:/VC/bin/cl.exe——broken......coffe转换到 COFF 期间失败: 文件无效或损坏的错误,根据文章https://blog.csdn.net/u010400998/article/details/81078612的建议,我查找了
C:\Windows\Microsoft.NET\Framework\v4.0.30319
D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
两个目录,找到cvtres.exe 将低版本的删掉,解决了。
- cmake结果
我的运行消息提示如下:
打开上述生成工程的工程(在build文件夹下,名为LLVM.sln),选择debug或release模型进行编译。