下载地址:https://github.com/llvm/llvm-project
下载自己需要的llvm版本。我在Releases中找到8.0.1进行下载的。也可用通过git checkout到自己想要的版本上。
【注意】:不要通过https://llvm.org/官网下载release代码。
我下载解压后的文件夹路径为:E:\Projecet\LLVM\llvm-project-llvmorg-8.0.1
在该路径下创建一个build文件夹用于存放构建的文件。
-
Visual Studio :我用的是2017版。记得勾选ALT。我选择了这两个:
-
Ninja:可以单独安装,也可以直接用哦visual studio 工具包里面的。
-
Perl: Perl官网下载strawberry-perl,然后将bin目录添加到path。
可以通过powershell脚本安装。
首先开启脚本运行的权限:
-
打开powershll的管理员运行模式。点击开始-》再点击Windows终端(管理员)。如果没有终端,可以在Microsoft store中下载终端(Terminal)。
-
输入:
Set-ExecutionPolicy Unrestricted
3.编写脚本:
# filename: compilerllvm.ps1
# filepath: C:\Users\Administrator\Desktop
# 切换到build的目录
cd E:\Projecet\LLVM\llvm-project-llvmorg-8.0.1\build\
# 切换到visual studio 的环境
D:\VisualStudio\VisualStudio2017\VC\Auxiliary\Build\vcvarsall.bat x64
#设置PATH,我这里使用visual studio自带的cmake和ninja
$env:PATH="$env:PATH;D:\VisualStudio\VisualStudio2017\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64;D:\Windows Kits\10\bin\10.0.17763.0\x64;D:\VisualStudio\VisualStudio2017\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;D:\VisualStudio\VisualStudio2017\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja"
#设置LIB
$env:LIB="$env:LIB;D:\VisualStudio\VisualStudio2017\VC\Tools\MSVC\14.16.27023\lib\x64;D:\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64;D:\Windows Kits\10\Lib\10.0.17763.0\um\x64"
#设置INCLUDE
$env:INCLUDE="$env:INCLUDE;D:\Windows Kits\10\Include\10.0.17763.0\ucrt;D:\Windows Kits\10\Include\10.0.17763.0\um;D:\VisualStudio\VisualStudio2017\VC\Tools\MSVC\14.16.27023\include;D:\Windows Kits\10\Include\10.0.17763.0\shared"
# 编译命令
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;clang-tools-extra;libunwind;compiler-rt" -DLLVM_ENABLE_ASSERTIONS=ON ..\llvm\
【注意】我的visual studio 安装在D:\VisualStudio\VisualStudio2017,根据你的安装位置进行相应替换即可。
【注意】我的WIndows kit安装在D:\Windows Kits,根据你的安装位置进行相应替换即可。
在终端执行:
C:\Users\Administrator\Desktop\compilerllvm.ps1
如果没有报错的话,再执行:
ninja
之后可能会遇到一些问题。
可能遇到的问题- 杀毒软件可能导致编译异常:
我出现了这样的报错:mt : general error c101008d
解决:关闭电脑管家。 - 编码问题:
通过vscode打开编码异常的文件,然后通过UTF-8+BOM保存之后解决。
[1] Windows多种方案编译LLVM(ollvm)详细教程
[2] Windows 编译 LLVM 详细教程
[3] PowerShell入门指南(三)·一门新的编程语言
[4] Windows 10 环境变量:如何通过 CMD 和 PowerShell 写入环境变量
[5] VS编译错误:mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file
[6] 【PowerShell】命令行输出和添加系统环境变量
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)