在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