在 clang-cl 中启用 C++ 模块 TS

Enable C++ Modules TS in clang-cl

我通过 clang-cl 在 Windows 上使用 clang(来自 LLVM 7.00 版)。

我正在尝试让 C++ 模块工作。我已经尝试了 clang 命令行参数 -fmodules-ts-fmodules.

我还尝试了 msvc 命令行参数(在 MSVC 下工作 - 我使用的是 15.8.5)/experimental:module /module:interface(这将是非实验选项的正常方式)。

所有选项都会导致错误 clang-cl.exe: warning: unknown argument ignored in clang-cl

有人知道是否可以在 clang-cl 下使用 C++ 模块 TS 吗?

使用option -Xclang,像这样:

clang-cl -Xclang -fmodules

要启用 C++ 模块支持,您需要最新的 clang 10.0 版本(怀疑是这样),可以从这个 URL 下载一个最新的快照版本:

https://llvm.org/builds/

使用 Visual studio 2019 / windows - 结帐以下 git 存储库:

git clone https://github.com/NTSFka/CMakeCxxModules.git

打开带有 Visual studio 2019 的文件夹,从配置 > 托管配置

添加x64-CLang-Debug配置,select它。

选中 "Show advanced variables" 并在 CMAKE_C_COMPILER select

C:/Program Files/LLVM/bin/clang.exe

来自 CMAKE_CXX_COMPILER select

C:/Program Files/LLVM/bin/clang++.exe

编译程序。

我自己测试的 intellisense 有效,但仍然有一些文本显示为红色(vs2019、16.3.7),情况可能会随着 Visual studio 更新而改变。