首页 > 编程语言 >VS设置 LLVM-Clang 编译器进行编译C++项目

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

时间:2024-08-07 19:50:04浏览次数:10  
标签:LLVM Visual C++ 编译器 Studio Clang

在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

标签:LLVM,Visual,C++,编译器,Studio,Clang
From: https://www.cnblogs.com/Jeffxu/p/18347778

相关文章

  • 安卓编译器gradle安装和idea配置gradle
    参考:gradle安装:https://www.cnblogs.com/darcy-hui/p/12206852.htmlgradleuserhome说明:https://blog.csdn.net/LG_15011399296/article/details/134333647gradle下载地址:https://gradle.org/releases/gradle阿里下载地址:https://mirrors.aliyun.com/gradle/gradle1.下载zip包,解......
  • 给vscode配置clangd插件
    一般情况下,我们在vscode里编辑C/C++代码时用的都是微软的c++package,但是这个插件包很多时候无法正确分析出语法,导致大量虚假错误报告,为了解决这个问题,我们首先禁用掉C++插件包,然后准备更换clangd。clangd是一个基于Clangd的分析服务器,方便我们分析代码语法。为了使用它,......
  • LLVM编译Fortran语言的全过程
    以一个给数组求和的程序来作为例子,编译器使用的是LLVM18.1.8!sum.f90programsum​ integer,parameter::n=30 real(4),dimension(n)::array real(4)::result integer::i​ doi=1,n   array(i)=i enddo​ ......
  • 如何在 Windows 7 上使用 pip 使用 MinGW-w64 编译器安装包?
    我在Windows7上使用Python3.4.164位。当我尝试使用pip安装scikit-image时,遇到了一个常见问题:“无法找到vcvarsall.bat”。我确保安装了VisualStudio2009和2010可再发行组件,并将VS90COMNTOOLS和VS100COMNTOOLS添加到环境变量中。但这没有帮助。同样的错误......
  • C语言笔记(第n版):编译器与构建系统
    一、C语言标准与编译器        C编译器是软件开发中至关重要的工具,它的主要作用是将人类可读的C语言源代码转换为计算机能够理解和执行的可执行代码。    (一)C语言标准的制定C语言标准的制定是一个逐步发展和完善的过程。在早期,C语言缺乏统一的标准,这导致......
  • clang-format配置
    原文:https://www.cnblogs.com/oloroso/p/14699855.html用于备份,仅供自己使用#https://clang.llvm.org/docs/ClangFormatStyleOptions.html#https://www.bbsmax.com/A/VGzlMjexJb/#语言:None,Cpp,Java,JavaScript,ObjC,Proto,TableGen,TextProtoLanguage:Cp......
  • Java中的编译器插件开发与应用
    Java中的编译器插件开发与应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java语言中,编译器插件的开发与应用是一种高级编程技术,能够扩展Java编译器的功能,以满足特定的需求。这些插件可以在编译过程中进行代码分析、优化,甚至修改源代码。本文将......
  • vi编辑器和gcc编译器
    1.vi编辑器vi是Linux中最常用的文本编辑器,嵌入式系统开发人员要熟练使用这个工具,vim是其改进版本。vi编辑器中共有三种模式,进入文件是处于命令行模式1.1如何进入插入模式先按Esc键,而后按下a、A、i、I、o、O中的一个可以进入插入模式新增(append)        ......
  • 全面剖析PHP8新特性:JIT编译器如何推动网站性能革命
    本文由ChatMoney团队出品在Web开发领域,提高网站的响应速度一直是开发者和企业所追求的目标。随着技术的不断进步,PHP8的发布为我们带来了一个全新的工具——JIT(Just-In-Time)加速器,它以其独特的优势,成为了提升网站响应速度的重要利器。本文将详细揭秘PHP8的JIT加速器,并探讨其如......
  • 编译器
    本页面主要介绍了各系统下各类编译器/解释器的安装步骤。GCCWindows手动下载安装访问MinGW-w64的下载页面,有多个构建版本。方便起见,我们使用由WinLibs提供的构建版本。首先前往WinLibs下载最新的安装包,选择合适的版本,本文选择了GCC12.3.0+LLVM/Clang/LLD/LLDB16.0......