Headers 来自 VS 构建工具和 LLVM 的 Clang

Headers for Clang from VS build tools and LLVM

我正在为我的 C++ 新项目试验不同的编译器、构建管理器和 IDE。我在 windows 10 机器上使用 VSCode(v1.52)。我安装了 VS 构建工具 2019,还包括用于 Windows 的 C++ Clang 编译器和用于 v142 构建工具 (x64/x86) 的 C++ Clang-cl。该项目使用 CMake 作为构建管理器,并且还安装了 plug-in CMake 工具。安装工作正常,就像现在一样。

但是,我只想知道从 VSCode 构建工具 2019 和 LLVM 中包含 Clang 编译器有什么区别。 VSCode 构建工具附带的 Clang 是使用它自己的 headers 还是来自 VS 的 headers?如果 Clang 使用来自 VS 的 headers,我不想使用..!

VSCode 构建工具(Windows 的 C++ Clang 工具)将 link Clang 编译器 与标准库的 Microsoft 实施

此外,VSCode 构建工具有一个名为“C++ Clang-cl for v142”的组件,让您可以自由使用自己的 Compiler/Settings

关于头文件,在 Windows 上,您应该将 clang 与 GCC(开源)或 MSVC 头文件一起使用。

我无法在 VS 构建工具中找到头文件的确切来源。但是,如上所述,它会 link 带有 Microsoft STL 的编译器。

使用 GCC 头文件安装 Clang(适用于 VsCode):

转到 https://www.msys2.org/ 并安装 mysys2

然后打开 mysys2 终端并复制这些命令以安装 Clang:

pacman -S mingw-w64-x86_64-clang

pacman -S mingw-w64-x86_64-clang-tools-extra

不要忘记将 \msys64\mingw64\bin 添加到 SYSTEM PATH 变量

我也做了一个视频,一步一步来:https://youtu.be/5OSO8IRlyXc