当前位置: 首页 > news >正文

VS2022使用指定的LLVM版本

LLVM下载地址:Releases · llvm/llvm-project · GitHub

LLVM/Clang toolsets for Visual Studio 2022, 2019, 2017, 2015, 2013, 2012 and 2010.

GitHub - zufuliu/llvm-utils: LLVM/Clang toolsets for Visual Studio 2022, 2019, 2017, 2015, 2013, 2012 and 2010.

关键就是这个llvm-utils工具了,可以配置VS2022的平台工具集包含LLVM

备用下载地址:llvm-utils

Installation

Please download and install LLVM from Releases · llvm/llvm-project · GitHub or Download LLVM releases.

VS2017\install.bat can be used to install MSBuild script for Visual Studio 2017, 2019 and 2022. (may require Administrator privilege. In Windows 8 or later, you can quickly open an elevated PowerShell prompt by File -> Open Windows PowerShell -> Open PowerShell as Administrator).

Visual Studio 2022

The Platform Toolset is "LLVM for Visual Studio 2022 (LLVM_v143)", "LLVM for Visual Studio 2019 (LLVM_v142)", "LLVM for Visual Studio 2017 (LLVM_v141)" and "LLVM for Visual Studio 2017 - Windows XP (LLVM_v141_xp)".

Assume VS_PATH is your Visual Studio 2020 installation path (e.g: C:\Program Files\Microsoft Visual Studio\2022\Community), please manually copy folders under VS2017 to their target paths.

FolderTarget Path
VS2017\LLVM%VS_PATH%\MSBuild\Microsoft\VC\v170\
VS2017\LLVM_v143%VS_PATH%\MSBuild\Microsoft\VC\v170\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v143%VS_PATH%\MSBuild\Microsoft\VC\v170\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v143%VS_PATH%\MSBuild\Microsoft\VC\v170\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v143%VS_PATH%\MSBuild\Microsoft\VC\v170\Platforms\ARM\PlatformToolsets\
VS2017\LLVM%VS_PATH%\MSBuild\Microsoft\VC\v160\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\ARM\PlatformToolsets\
VS2017\LLVM%VS_PATH%\MSBuild\Microsoft\VC\v150\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141_xp%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141_xp%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\ARM\PlatformToolsets\

Visual Studio 2019

The Platform Toolset is "LLVM for Visual Studio 2019 (LLVM_v142)", "LLVM for Visual Studio 2017 (LLVM_v141)" and "LLVM for Visual Studio 2017 - Windows XP (LLVM_v141_xp)".

Assume VS_PATH is your Visual Studio 2019 installation path (e.g: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community), please manually copy folders under VS2017 to their target paths.

FolderTarget Path
VS2017\LLVM%VS_PATH%\MSBuild\Microsoft\VC\v160\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v142%VS_PATH%\MSBuild\Microsoft\VC\v160\Platforms\ARM\PlatformToolsets\
VS2017\LLVM%VS_PATH%\MSBuild\Microsoft\VC\v150\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141_xp%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141_xp%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\MSBuild\Microsoft\VC\v150\Platforms\ARM\PlatformToolsets\

Visual Studio 2017

The Platform Toolset is "LLVM for Visual Studio 2017 (LLVM_v141)" and "LLVM for Visual Studio 2017 - Windows XP (LLVM_v141_xp)".

Assume VS_PATH is your Visual Studio 2017 installation path (e.g: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community), please manually copy folders under VS2017 to their target paths.

FolderTarget Path
VS2017\LLVM%VS_PATH%\Common7\IDE\VC\VCTargets\
VS2017\LLVM_v141%VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141_xp%VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141_xp%VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\ARM64\PlatformToolsets\
VS2017\LLVM_v141%VS_PATH%\Common7\IDE\VC\VCTargets\Platforms\ARM\PlatformToolsets\

LLVM for Visual Studio 2010, 2012, 2013 and 2015

Assume MB_PATH is the MSBuild path for Visual C++ (e.g.: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0 or C:\Program Files\MSBuild\Microsoft.Cpp\v4.0), please manually copy VS2017\LLVM and related folders under VS2015 to their target paths.

VS2015\install.bat (based on install script for LLVM 6.0.1) can be used to install MSBuild script for Visual Studio 2010, 2012, 2013 and 2015.

Visual Studio 2015

The Platform Toolset is "LLVM for Visual Studio 2015 (LLVM_v140)" and "LLVM for Visual Studio 2015 - Windows XP (LLVM_v140_xp)".

FolderTarget Path
VS2017\LLVM%MB_PATH%\V140\
VS2015\LLVM_v140%MB_PATH%\V140\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v140_xp%MB_PATH%\V140\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v140%MB_PATH%\V140\Platforms\Win32\PlatformToolsets\
VS2015\LLVM_v140_xp%MB_PATH%\V140\Platforms\Win32\PlatformToolsets\

Visual Studio 2013

The Platform Toolset is "LLVM for Visual Studio 2013 (LLVM_v120)" and "LLVM for Visual Studio 2013 - Windows XP (LLVM_v120_xp)".

FolderTarget Path
VS2017\LLVM%MB_PATH%\v120\
VS2015\LLVM_v120%MB_PATH%\v120\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v120_xp%MB_PATH%\v120\Platforms\x64\PlatformToolsets\
VS2015\LLVM_v120%MB_PATH%\v120\Platforms\Win32\PlatformToolsets\
VS2015\LLVM_v120_xp%MB_PATH%\v120\Platforms\Win32\PlatformToolsets\

Visual Studio 2012

The Platform Toolset is "LLVM for Visual Studio 2012 (LLVM_v110)" and "LLVM for Visual Studio 2012 - Windows XP (LLVM_v110_xp)".

FolderTarget Path
VS2017\LLVM%MB_PATH%\v110\
VS2015\x64\LLVM_v110%MB_PATH%\v110\Platforms\x64\PlatformToolsets\
VS2015\x64\LLVM_v110_xp%MB_PATH%\v110\Platforms\x64\PlatformToolsets\
VS2015\Win32\LLVM_v110%MB_PATH%\v110\Platforms\Win32\PlatformToolsets\
VS2015\Win32\LLVM_v110_xp%MB_PATH%\v110\Platforms\Win32\PlatformToolsets\

Visual Studio 2010

The Platform Toolset is "LLVM for Visual Studio 2010 (LLVM_v100)" and "LLVM for Visual Studio 2008 (LLVM_v90)".

FolderTarget Path
VS2017\LLVM%MB_PATH%\
VS2015\x64\LLVM_v100%MB_PATH%\Platforms\x64\PlatformToolsets\
VS2015\x64\LLVM_v90%MB_PATH%\Platforms\x64\PlatformToolsets\
VS2015\Win32\LLVM_v100%MB_PATH%\Platforms\Win32\PlatformToolsets\
VS2015\Win32\LLVM_v90%MB_PATH%\Platforms\Win32\PlatformToolsets\

Install to AppVeyor or GitHub Actions Build Image

Install LLVM on the build image

curl -fsSL -o "LLVM-18.1.0-win64.exe" "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.0/LLVM-18.1.0-win64.exe"
LLVM-18.1.0-win64.exe /S

Install from release archives

Archive NameVisual Studio Version
LLVM_VS2017.zip2017, 2019 and 2022
LLVM_VS2010_2015.zip2010, 2012, 2013 and 2015
LLVM_VS2015.zip2015
LLVM_VS2013.zip2013
LLVM_VS2012.zip2012
LLVM_VS2010.zip2010

Examples:

curl -fsSL -o "LLVM_VS2017.zip" "https://github.com/zufuliu/llvm-utils/releases/download/v23.05/LLVM_VS2017.zip"
7z x -y "LLVM_VS2017.zip" >NUL
CALL "LLVM_VS2017\install.bat" 1curl -fsSL -o "LLVM_VS2010_2015.zip" "https://github.com/zufuliu/llvm-utils/releases/download/v23.05/LLVM_VS2010_2015.zip"
7z x -y "LLVM_VS2010_2015.zip" >NUL
CALL "LLVM_VS2010_2015\install.bat" 1

Install from latest main source code

curl -fsSL -o "llvm-utils-main.zip" "https://github.com/zufuliu/llvm-utils/archive/main.zip"
7z x -y "llvm-utils-main.zip" >NUL
CALL "llvm-utils-main\VS2017\install.bat" 1
CALL "llvm-utils-main\VS2015\install.bat" 1

or

git clone -q --depth=1 --branch=main https://github.com/zufuliu/llvm-utils.git c:\projects\llvm-utils
CALL "c:\projects\llvm-utils\VS2017\install.bat" 1
CALL "c:\projects\llvm-utils\VS2015\install.bat" 1

clang-cl for Python 3 distutils

See clang\clang-cl-py3.diff for the changes on hwo to use clang-cl as distutils compiler. After apply these changes, you can build your extension with

python setup.py build --compiler=clang-cl

LLVM Windows Symbolic Link Maker

The huge size of LLVM Windows installation can be reduced dramatically by using Windows symbolic link (see mklink command.

Usage

Just copy llvm\llvm-link.bat to LLVM installation path (e.g.: C:\Program Files\LLVM\), and run it (may require Administrator privilege).

Related Links

  • LLVM Extensions for Visual Studio 2017 in Visual Studio Marketplace, not works for Visual Studio 2019 alone.

  • Original source for MSBuild

    https://github.com/llvm/llvm-project/tree/main/llvm/tools/msbuild

    svn co https://github.com/llvm/llvm-project/trunk/llvm/tools/msbuild msbuild

    svn co https://llvm.org/svn/llvm-project/llvm/trunk/tools/msbuild msbuild

  • Outdated LLVM for Visual Studio 2017 by @WubbaLubba

  • Failed to find MSBuild toolsets directory in LLVM Bugzilla

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python 从入门到实战6(二维列表)
  • RedisMessageListenerContainer容器初始化
  • 力扣SQL仅数据库(196~569)
  • 剪画:轻松去除图片水印的操作!
  • skywalking服务部署
  • uniapp微信小程序开发测试获取手机号码
  • 对给定数组所对应的二叉树依次完成前序,中序,后序遍历,并输出遍历结果。
  • Vue(十) 过渡动画、配置代理服务器,解决请求跨域的问题
  • 一体化智能电动窗帘:开启智能生活新时尚
  • 大二必做项目贪吃蛇超详解之下篇游戏核心逻辑实现
  • 各业务领域相关方案
  • 华为云征文|Flexus云服务X实例使用,宝塔的安装,利用宝塔安装Java、NGINX,Redis,Python,快速搭建开发环境
  • 遗传算法与深度学习实战(8)——使用遗传算法解决旅行商问题
  • 2025中国(西安)国际雷达技术及设备展览会
  • java【day03】---(Vue-Element)
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • css选择器
  • emacs初体验
  • exif信息对照
  • iOS 系统授权开发
  • JavaScript类型识别
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python_OOP
  • tensorflow学习笔记3——MNIST应用篇
  • 代理模式
  • 工作中总结前端开发流程--vue项目
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 看域名解析域名安全对SEO的影响
  • 码农张的Bug人生 - 见面之礼
  • 数组大概知多少
  • 学习HTTP相关知识笔记
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • 数据可视化之下发图实践
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • 选择阿里云数据库HBase版十大理由
  • ​iOS安全加固方法及实现
  • ​什么是bug?bug的源头在哪里?
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #Lua:Lua调用C++生成的DLL库
  • (27)4.8 习题课
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (九)c52学习之旅-定时器
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (三)Honghu Cloud云架构一定时调度平台
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .net core 6 集成和使用 mongodb
  • .Net IE10 _doPostBack 未定义
  • .NET 中创建支持集合初始化器的类型
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)