Я недавно установил Sublime Text 3 и пытаюсь заставить SublimeLinter работать на C ++. Я установил линтер SublimeLinter-contrib-clang с помощью Package Control, и линтер действительно активируется. Однако моя проблема в том, что линтер выдает ошибку для каждого основного заголовка, т.е. #include <iostream>
в базовой программе Hello World.
Что я пытался сделать:
clang++ -v <name_of_file>
Последнее, кажется, лучший выбор, но, похоже, я вообще не понимаю, как работают настройки Sublime. Вот мой файл настроек пользователя: (цветовая схема и игнорируемые пакеты пакетов уже были там)
{
"color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
"ignored_packages":
[
"Vintage"],
"SublimeLinter-contrib-clang": {
"include_dirs": "/usr/include/c++"}
}
Я пробовал разные форматы (под «linters» -> «clang», «clang» и т. Д.), Но ни один из них не работает. Кроме того, я даже не уверен, что этот метод будет работать.
Благодаря ~
(Использование Ubuntu 14.04)
Редактировать:
Мой текущий файл настроек пользователя:
{
"color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
"font_size": 11,
"ignored_packages":
[
"Vintage"],
"linters": {
"clang": {
"extra_flags": [],
"include_dirs": [
"/usr/include/c++/4.8.2"]
}
}
}
Это происходило потому, что плагин использовал лязг с -cc1
флаг, который можно описать как превращение его в внутренний режим, в котором пропускаются параметры (то есть настройки местоположения для конкретной платформы).
изложенные в llvm документы
Проблема с тех пор был исправлен.
ИМХО, лучше не указывать, что компилятор включает dir, потому что Xcode и clang могут вообще его спрятать где-нибудь в папке / Application / Xcode /.
Я нашел полезное следующее
"SublimeLinter": {
"linters": {
"clang": {
"extra_flags": " -x c++ "}
}
},