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.

Folder

Target 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.

Folder

Target 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.

Folder

Target 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)".

Folder

Target 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)".

Folder

Target 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)".

Folder

Target 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)".

Folder

Target 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 Name

Visual Studio Version

LLVM_VS2017.zip

2017, 2019 and 2022

LLVM_VS2010_2015.zip

2010, 2012, 2013 and 2015

LLVM_VS2015.zip

2015

LLVM_VS2013.zip

2013

LLVM_VS2012.zip

2012

LLVM_VS2010.zip

2010

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" 1

curl -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