VS设置 LLVM-Clang 编译器进行编译C++项目

在VS中默认的C++编译器一般为 MSVC 编译器,可以根据自己的需要将其设置为 LLVM-Clang 编译器。主要有两种方案:
1)直接使用 Visual Studio Installer来自动下载对应的 Clang 编译器和构建工具,后续无需再进行配置,便可直接使用。
2)使用自己编译或者单独下载的 LLVM-Clang 编译器,以及通过 Visual Studio Installer 下载对应的构建工具来进行使用。

通过Visual Studio Installer来自动下载对应的 Clang 编译器和构建工具

该方案操作简单,无需太多配置,启动 Visual Studio Installer ,在单个组件处同时选择 C++ Clang 对应的生成工具适用于Windows的C++ Clang 编译器,如下图所示:

创建或打开C++项目,在属性中进行设置平台工具集LLVM(Clang-cl),如下图所示:

在该设置属性下即可自动调用 LLVM-Clang 编译器进行构建C++项目。该方式默认使用的是 Clang v12的版本,无法进行自定义设置自己需要的 Clang 版本。


使用自定义版本的 LLVM-Clang 编译器

如果需要使用自定义版本的 LLVM-Clang 编译器进行构建C++项目,需要进行如下操作:

1、安装对应的编译器和构建工具

(1)安装所需要的 LLVM-Clang 编译器,需要自己从源码编译或下载需要的LLVM-Clang编译器,LLVM 下载地址
(2)确保VS已经安装了 适用于<当前VS版本>的C++ Clang-cl生成工具,如下图所示:

2、设置平台工具集及为 LLVM(clang-cl)

打开或创建C++项目,选择 平台工具集LLVM(clang-cl),如下图所示:

此时进行编译会报错 Cannot find LLVM toolset version '12.0.0',由于默认的Clang版本为 v12.0.0,默认的位置为 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\Llvm\x64\lib\clang\12.0.0。因此还要告诉VS自定义 Clang 的根目录位置和版本号,否则VS将无法找到该编译器。

3、设置自定义LLVM的位置和版本号

创建 Directory.build.props 文件,然后将该文件添加到根解决方案目录中(即.sln所在目录),以将它应用于解决方案中的所有项目。该文件中的内容主要为:

  • LLVMInstallDir :LLVM 的根目录
  • LLVMToolsVersion:LLVM 的版本号,为 根目录\lib\clang下的目录名称

以本机的LLVM所在路径为例,如下图

因此该文件对应的内容如下:

<Project>
  <PropertyGroup>
    <LLVMInstallDir>D:\Programs\clang+llvm-18.1.8-x86_64-pc-windows-msvc</LLVMInstallDir>
    <LLVMToolsVersion>18</LLVMToolsVersion>
  </PropertyGroup>
</Project>

此时进行编译将会直接调用指定位置,指定版本的LLVM-Clang 进行编译构建当前的C++项目。


[参考资料]
Visual Studio 项目中的 Clang/LLVM 支持
LLVM Download Page
Visual Studio 2022 中使用 Clang
Clang 20.0.0git documentation
getting-started-with-llvm-core-libraries

posted @ 2024-08-07 19:46  Jeffxue  阅读(163)  评论(0编辑  收藏  举报