默认的C ++版本SublimeLinter

时间:2019-02-23 18:56:31

标签: c++ sublimetext3

我正在将SublimeLinter-clangSublime 3结合使用以在MacOS Mojave上填充C++代码。我收到来自更高版本C++的代码警告和错误。如何将默认的衬棉版本设置为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,但仍然收到相同的错误和警告。

Settings

1 个答案:

答案 0 :(得分:4)

SublimeLinter-clang现在保持在https://github.com/SublimeLinter/SublimeLinter-clang,而不是https://github.com/nirm03/SublimeLinter-clang

在较新的版本中,2018年有一个请求请求,该请求增加了支持,使用户能够对c linter和c ++ linter进行不同的设置。因此,https://stackoverflow.com/a/42818098/17034中2017年的答案目前已过时。

因此,您似乎需要将clang更改为clang ++。看起来它们在设置中将extra_flags更改为args,因此您将需要覆盖默认args并添加-std = c ++ 11。

"linters":
{
    "clang++": {
        "args": "-Wall -fsyntax-only -fno-caret-diagnostics -std=c++11"
    }
},