栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

在Wnidwos平台源码编译LLVM

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Wnidwos平台源码编译LLVM

下载源码

下载地址:https://github.com/llvm/llvm-project
下载自己需要的llvm版本。我在Releases中找到8.0.1进行下载的。也可用通过git checkout到自己想要的版本上。
【注意】:不要通过https://llvm.org/官网下载release代码。
我下载解压后的文件夹路径为:E:ProjecetLLVMllvm-project-llvmorg-8.0.1
在该路径下创建一个build文件夹用于存放构建的文件。

所需工具
  1. Visual Studio :我用的是2017版。记得勾选ALT。我选择了这两个:

  2. CMake:可以单独安装,也可以直接用哦visual studio 工具包里面的。

  3. Ninja:可以单独安装,也可以直接用哦visual studio 工具包里面的。

  4. Perl: Perl官网下载strawberry-perl,然后将bin目录添加到path。

配置环境

可以通过powershell脚本安装。
首先开启脚本运行的权限:

  1. 打开powershll的管理员运行模式。点击开始-》再点击Windows终端(管理员)。如果没有终端,可以在Microsoft store中下载终端(Terminal)。

  2. 输入:

Set-ExecutionPolicy Unrestricted

3.编写脚本:

# filename: compilerllvm.ps1
# filepath: C:UsersAdministratorDesktop
# 切换到build的目录
cd E:ProjecetLLVMllvm-project-llvmorg-8.0.1build
# 切换到visual studio 的环境
D:VisualStudioVisualStudio2017VCAuxiliaryBuildvcvarsall.bat x64
#设置PATH,我这里使用visual studio自带的cmake和ninja
$env:PATH="$env:PATH;D:VisualStudioVisualStudio2017VCToolsMSVC14.16.27023binHostx64x64;D:Windows Kits10bin10.0.17763.0x64;D:VisualStudioVisualStudio2017Common7IDECommonExtensionsMicrosoftCMakeCMakebin;D:VisualStudioVisualStudio2017Common7IDECommonExtensionsMicrosoftCMakeNinja"
#设置LIB
$env:LIB="$env:LIB;D:VisualStudioVisualStudio2017VCToolsMSVC14.16.27023libx64;D:Windows Kits10Lib10.0.17763.0ucrtx64;D:Windows Kits10Lib10.0.17763.0umx64"
#设置INCLUDE
$env:INCLUDE="$env:INCLUDE;D:Windows Kits10Include10.0.17763.0ucrt;D:Windows Kits10Include10.0.17763.0um;D:VisualStudioVisualStudio2017VCToolsMSVC14.16.27023include;D:Windows Kits10Include10.0.17763.0shared"
# 编译命令
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:VisualStudioVisualStudio2017,根据你的安装位置进行相应替换即可。
【注意】我的WIndows kit安装在D:Windows Kits,根据你的安装位置进行相应替换即可。

编译

在终端执行:

C:UsersAdministratorDesktopcompilerllvm.ps1

如果没有报错的话,再执行:

ninja

之后可能会遇到一些问题。

可能遇到的问题
  1. 杀毒软件可能导致编译异常:
    我出现了这样的报错:mt : general error c101008d
    解决:关闭电脑管家。
  2. 编码问题:
    通过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】命令行输出和添加系统环境变量

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号