Версия C ++ по умолчанию SublimeLinter - PullRequest
0 голосов
/ 23 февраля 2019

Я использую SublimeLinter-clang с Sublime 3, чтобы скопировать C++ код в MacOS Mojave.Я получаю предупреждения и ошибки для кода из более поздних версий 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

Я попытался ответить на этот вопрос , но ничего не изменилось.Ниже мой SublimeLinter.sublime.settings, и я все еще получаю ту же ошибку и предупреждение.

Settings

1 Ответ

0 голосов
/ 27 февраля 2019

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 в настройках, поэтому вам нужно переопределить аргументы по умолчанию и добавить -std = c ++ 11.

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