我使用SublimeLinter-clang和Sublime 3在MacOS Mojave上链接C++代码。我从C++的后期版本中得到了代码的警告和错误。如何将默认的linting版本设置为C++17
例如,我的台词是:
auto game = SpinOut{};编辑器标记如下:
1 warning: clang++ - 'auto' type specifier is a C++11 extension [-Wc++11-extensions]clang++: error - expected '(' for function-style cast or type construction我试着跟踪这个question的答案,但是没有什么改变。下面是我的SublimeLinter.sublime.settings,我仍然收到同样的错误和警告。

发布于 2019-02-27 02:46:08
亚SublimeLinter clang现在被维护在https://github.com/SublimeLinter/SublimeLinter-clang而不是https://github.com/nirm03/SublimeLinter-clang上。
在较新的版本中,2018年有一个拉请求,它增加了对c linter和c++ linter的支持,使用户能够拥有不同的设置。因此,从2017年开始,https://stackoverflow.com/a/42818098/17034的答案已经过时。
因此,看起来您需要将clang更改为clang++。它们似乎还在设置中将extra_flags更改为args,因此您需要覆盖默认的args并添加-std=c++11。
"linters":
{
"clang++": {
"args": "-Wall -fsyntax-only -fno-caret-diagnostics -std=c++11"
}
},https://stackoverflow.com/questions/54845015
复制相似问题