c++ - 默认 C++ 版本 SublimeLinter

标签 c++ sublimetext3

我正在使用 SublimeLinter-clangSublime 3 在 MacOS Mojave 上检查 C++ 代码。我收到有关 C++ 更高版本代码的警告和错误。如何将默认 linting 版本设置为 C++17

例如,我有一行:

auto game = SpinOut{};

编辑标记如下:

  • 1 条警告:clang++ - “auto”类型说明符是 C++11 扩展 [-Wc++11-extensions]
  • clang++:错误 - 函数式转换或类型构造应为“(”

我尝试按照这个 question 的答案进行操作但没有任何改变。下面是我的 SublimeLinter.sublime.settings,我仍然收到相同的错误和警告。

Settings

最佳答案

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"
    }
},

关于c++ - 默认 C++ 版本 SublimeLinter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54845015/

相关文章:

c++ - 如何在 Switch 语句中使用 Cmd 行参数中提供的 TCHAR*?

python - 在 Sublime Text 的路径中执行外部程序

sublimetext - 通过保存在 Sublime 中自动更新日期?

css - 更改 Sublime Text 3 中的默认 HTML 标签

save - Atom 文本编辑器在保存时删除尾随空格

c++ - 如何避免使用不同类型 C++ 执行相同操作的多个函数

c++ - 从动态分配的数组中删除

c++ - 从 Circle 类 C++ 返回 bool 值

c++ - 循环读取dat文件不正确

python - 如何在启用 visual studio 环境的情况下运行 SublimeText