Русское сообщество Sublime Text
Основной раздел => Вопросы и ответы => Тема начата: MADONZY от Марта 21, 2014, 03:21:31
-
Всем привет!
Узнал что в ST3 появился плагин SublimeLinter (аля SublimeClang) для С/С++ и сразуже себе его установил. Но почему-то он не работает, может проблемма в настройках? Но я ничего не могу там понять. Вот User Settings:
{
"user": {
"debug": false,
"delay": 0.25,
"error_color": "D02000",
"gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
"gutter_theme_excludes": [],
"lint_mode": "background",
"linters": {
"clang": {
"@disable": false,
"args": [],
"excludes": [],
"extra_flags": "",
"include_dirs": []
}
},
"mark_style": "outline",
"no_column_highlights_line": false,
"paths": {
"linux": [],
"osx": [],
"windows": []
},
"python_paths": {
"linux": [],
"osx": [],
"windows": []
},
"rc_search_limit": 3,
"shell_timeout": 10,
"show_errors_on_save": true,
"show_marks_in_minimap": true,
"syntax_map": {
"html (django)": "html",
"html (rails)": "html",
"html 5": "html",
"php": "html",
"python django": "python"
},
"warning_color": "DDB700",
"wrap_find": true
}
}
Помогите пожалуйста, очень нужная для меня вещь.
П.С: Я пользуюсь виндой 8.1
-
Кроме самого SublimeLinter, нужен SublimeLinter-clang (https://github.com/nirm03/SublimeLinter-clang).
При условии, что clang прописан в переменную окружения PATH, все должно работать без дополнительной настройки.
-
Я установил вот этот плагин: "SublimeLinter-contrib-clang", можешь кинуть готовую настройку и рассказать как онработает? Мне нужно что-бы при сохранении файла мне подсвечивались ошибки и внизу писало характер ошибок. Ну как в SublimeClang для ST2.
-
Я не менял ни одной настройки. Могу скинуть, конфиг по-умолчанию.
Плагин подсвечивает строки с ошибкой "на лету". Описания ошибки нет.
Путь до clang объявлен в переменной PATH? Он доступен через консоль?
-
Loac, а что значит прописать clang в PATH? у меня стоит MinGW а не Clang
-
В Windows есть переменная окружения PATH. Приложения, расположенные в директориях, которые указаны в этой переменной, доступны из любого места операционной системы. В XP она находится тут (см. скриншот).
Я думал компилятор у тебя уже установлен и работает.
Насколько я понимаю, нужен сам clang http://clang.llvm.org/
Там есть версии для MinGW Clang Binaries for Mingw32/x86. Я с сями почти не знаком, вряд ли смогу тебе помочь в тонкой настройке.
Если ничего не получится, пришли мне, что у тебя должно компилироваться. Попробую на досуге настроить компот из MinGW + clang + SublimeText )
-
Когда-то пробывал под винду установить clang, но безрезультатно. Пишу на C++. Может можешь что-то подсказать?
-
Установить Clang ;)
У меня на Windows XP работает версия: http://llvm.org/releases/download.html#2.9 (Clang Binaries for Mingw32/x86).
Распаковываешь, указываешь его в PATH C:\clang\bin, например.
В настройках SublimeText "extra_flags" указываешь путь до папки include в MinGW.
В настройках SublimeText "include_dirs" указываешь путь до папки include в MinGW.
Например:
"include_dirs": ["C:/MinGW/include"].
-
1) Скачал
2) Распаковал на С:\
3) Прописал в PATH
4) В user settings написал путь к C:/MinGW/include (не знаю правильно ли в Винде использывать простые слэши)
И всёравно не работает. Делаю ошибку и ничего не выделяется. И не могу понять как MinGW знает о clang если они никде кроме PATH не встречаются. Может нужно файлы из архива перекинуть в папку MinGW (соответственно) ?
Вот файл настройки:
{
"user": {
"debug": true,
"delay": 0.25,
"error_color": "D02000",
"gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
"gutter_theme_excludes": [],
"lint_mode": "background",
"linters": {
"clang": {
"@disable": false,
"args": [],
"excludes": [],
"extra_flags": "C:/MinGW/include",
"include_dirs": []
}
},
"mark_style": "outline",
"no_column_highlights_line": false,
"paths": {
"linux": [],
"osx": [],
"windows": []
},
"python_paths": {
"linux": [],
"osx": [],
"windows": []
},
"rc_search_limit": 3,
"shell_timeout": 10,
"show_errors_on_save": false,
"show_marks_in_minimap": true,
"syntax_map": {
"html (django)": "html",
"html (rails)": "html",
"html 5": "html",
"php": "html",
"python django": "python"
},
"warning_color": "DDB700",
"wrap_find": true
}
}
-
MinGW ничего не надо знать. Clang берет заголовки из папки include.
ой, не "extra_flags", а "include_dirs": ["C:/MinGW/include"].
Все, блин. Пятница, конец рабочего дня, голова не варит )
-
Получилось, спасибо. Но показывает бредятину:(http://s27.postimg.org/vbh1iw1mr/fff.jpg) как это аргументировать?)
-
Тем что нету заголовка iostream. Попробуй stdio и делай вывод через printf.
-
ахаха что за бред)) это же c++)))
как это поправить
-
Я грю, в той папке нету заголовков iostream.
Правда, если их подключить lib/gcc/mingw32/4.8.1/include/c++ ошибки перестают появляться. Дальше пока не знаю куда копать.
-
Да, но ошибот теперь вообще никаких нет...
что делать?(
-
никаких идей?(
-
Взять другие версии MinGW и Clang. Я попробовал 4.6.2 (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/old/4.6.2-stdthread/).
Скачал MinGW (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/old/4.6.2-stdthread/x86_64-w64-mingw32-gcc-4.6.2-stdthread_rubenvb.7z/download) и Clang (http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/old/4.6.2-stdthread/x86_64-w64-mingw32-clang-3.0-4_rubenvb.7z/download). Распаковал их в одну директорию d:\mingw. Добавил в PATH d:\mingw\bin.
Приложение компилируется, ошибки подсвечиваются.
-
Loac, ссылки на clang и mingw одинаковы, может ты ошибся?
-
Они разные.
-
Спасибо!! Заработало)
-
Loac, а какой путь стоит в линуксе прописать?
Пробовал вот такой - /usr/include/c++/4.8
не работет
версия gcc 4.8
-
Похоже на правду. К сожалению, пока нет возможности проверить.
-
Ех( Ну может кто-то другой знает?) Очень неудобно работать...
-
нашел вот такую тему но как-то не очень...
https://github.com/nirm03/SublimeLinter-clang/issues/1
но прогресс есть. Ошибки подсвечиваются, но библиотек не видит.
Когда в include_dir ввожу "/usr/include/c++/4.8" то ошибки пропадают и ничего вообще не происходит, теперь никакие ошибки не подсвечиваются.
Когда убираю то пишет што iostream cstdlib и т.д. не найдены.
-
Заработало)
Помогла вставка:
-internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/backward -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/backward -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/backward -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++ -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/x86_64-linux-gnu -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/backward -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib/clang/3.2/include -internal-isystem /usr/include/clang/3.2/include/ -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /usr/include
в "extra_flags"))
и к стати не нужно добавлять "include_dirs" вообще просто установить clang)
-
и к стати не нужно добавлять "include_dirs" вообще просто установить clang)
лол