c++ - 来自 VS 构建工具和 LLVM 的 Clang 标头
问题描述
我正在为我的 C++ 新项目尝试不同的编译器、构建管理器和 IDE。我在 Windows 10 机器上使用 VSCode(v1.52)。我安装了 VS 构建工具 2019,还包括适用于 Windows 的 C++ Clang 编译器和适用于 v142 构建工具 (x64/x86) 的 C++ Clang-cl。该项目使用 CMake 作为构建管理器,并且还安装了插件 CMake 工具。设置工作正常,就像现在一样。
但是,我只想知道从 VSCode 构建工具 2019 和 LLVM 包含 Clang 编译器有什么区别。VSCode 构建工具附带的 Clang 是使用自己的头文件还是来自 VS 的头文件?如果 Clang 使用来自 VS 的标头,我不想使用 ..!
解决方案
VSCode 构建工具(适用于 Windows 的 C++ Clang 工具)将Clang 编译器与标准库的 Microsoft 实现链接
此外,VSCode 构建工具有一个名为“C++ Clang-cl for v142”的组件,让您可以自由使用自己的编译器/设置
关于头文件,在 Windows 上,您应该将 clang 与 GCC(开源)或 MSVC 头文件一起使用。
我在 VS Build 工具中找不到头文件的确切来源。但是,如上所述,它将编译器与 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
推荐阅读
- kubernetes - GKE 1.16.9 Prometheus,每个 pod 的 grafana 详细信息不起作用?
- html - 如何在 Rmarkdown HTML 中定位 CSS 中的 Div
- r - 如何使用 R 中的元包更改森林图中子组的顺序?
- amazon-web-services - 在 aws ubuntu 服务器的 chmod 777 /home 上使用 chmod,现在每个 ubuntu 服务器都无法登录
- javascript - 刷新网站时随机生成的数字不会改变。我正在使用 JavaScript 和 NodeJS
- android - 使用官方插件在 Flutter 中本地验证应用程序购买中的非消耗品
- c - 如何使用 C 编程语言计算在 .txt 文件中找到的数字的最小值?
- javascript - babel 插件语法在哪里定义?
- java - macOS 上的 Java 自动使用系统代理,如何禁用它?
- javascript - 从 GmailMessage.getHeader() 访问重复的标题