我正在尝试使用 c++17(const lambdas)中的一项功能,而不会出现 clangd 错误。我在网上搜索过,每个答案都告诉我用标志重新编译 clangd 。难道真的没有别的办法了吗?
编辑:Clangd 不是编译器。它是一个语言服务器,是一个与 IDE 一起使用的程序,它基本上在编译代码之前检查代码是否有错误和警告。请参阅 https://clangd.llvm.org .
来自 https://clangd.llvm.org/config#compileflags:
您可以为 clangd 创建一个配置文件。在配置文件中,您可以指定模仿的编译器选项。对于我的问题,请执行以下操作:
CompileFlags:
Add: [-std=c++20]
将配置文件作为
.clangd
放入您想要应用的文件的共享父目录中。如果您希望它适用于整个用户,请将其设为操作系统特定目录中的 config.yaml
文件:
%LocalAppData%\clangd\config.yaml
,通常
C:\Users\Bob\AppData\Local\clangd\config.yaml
。~/Library/Preferences/clangd/config.yaml
$XDG_CONFIG_HOME/clangd/config.yaml
,通常
~/.config/clangd/config.yaml
。