手动编译一个windows下64位的LLVM3.3(clang3.3)

手动编译一个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 

网页中大致如图

手动编译一个windows下64位的LLVM3.3(clang3.3)

  • 然后解压三个源文件

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 

大致如图

手动编译一个windows下64位的LLVM3.3(clang3.3)

  • 点击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结果

我的运行消息提示如下:

手动编译一个windows下64位的LLVM3.3(clang3.3)

打开上述生成工程的工程(在build文件夹下,名为LLVM.sln),选择debug或release模型进行编译。

 

 

上一篇:c – 如何使用LLVM为不同的目标体系结构编译程序?


下一篇:c – LLVM,获取内部结构的偏移量