Sublime Text 2 - отличный текстовый редактор для программистов. Кроме всех вообразимых возможностей текстового редактора он умеет собирать и выполнять программы из исходников. Но настройки сборки и запуска из коробки работают далеко не всегда (а под Windows никогда).
В этой статье опишу кратко свой путь по настройке системы сборки Sublime Text 2 для программ С++ для компилятора MinGW под Windows.
Наиболее полная справка по настройке системы сборки находится на сайте неофициальной документации.
2. Создание новой конфигурации системы сборки
3. Конфигурация сборки
4. Конфигурация запуска
5. Полный листинг конфигурации
6. Использование системы сборки
Если строка компиляции похожа на корректную, то строка запуска приложения нам под Windows совсем не подходит. А если в переменную окружения PATH не добавлен путь к g++, то компиляция также не произойдёт.
Для создания новой конфигурации идём в Tools / Build System / New Build System..., в новый файл вставляем текст конфигурации (например, из стандартной конфигурации С++) и сохраняем файл в каталоге %APPDATA%\Sublime Text 2\Packages\, например, в MinGW\MinGW.sublime-build. После этого в Tools / Build System появится новый пункт с именем вашего файла.
По-умолчанию это "g++ file -o file_base_name". Можно добавлять опции типа "-s" или "-O2" таким образом:
"cmd": ["g++", "${file}", "-o", "${file_base_name}", "-s", "-O2"]
Но если в переменную окружения PATH не добавлен путь к g++ (как правило MinGW/bin), то Sublime просто не найдёт g++. Можно добавить в PATH путь к g++, а можно обойтись параметром path.
Этот параметр указывает на то, что во время сборки нужно временно заменить значение переменной окружения PATH, а после окончания сборки возвратить старое значение. Выглядит примерно так:
"path": "C:\\MinGW\\bin\\"
Также позволяет запускать программы без статической линковки библиотек.
file_regex и working_dir можно оставить без изменений.
"encoding": "cp866"
Пробовал запуск на обычном консольном приложении типа HelloWorld. После долгих поисков и множественных проб решение для меня было найдено. Вот заветные параметры:
"shell": true,
"cmd": ["start", "${file_base_name}.exe"]
Tools / Build System - выбор системы сборки. Если у вас на автомате некорректно выбирается система сборки, выберите вручную.
Tools / Build [Ctrl+B] - собрать программу (выполнение команды "cmd" из конфигурации).
Tools / Run [Ctrl+Shift+B] - запустить программу (выполнение команды "cmd" из параметра "variants" группы "Run" конфигурации).
Если при сборке или запуске возникли ошибки, нужно пересмотреть конфигурацию системы сборки. Также убедитесь, что используется нужная система сборки.
В начало
В этой статье опишу кратко свой путь по настройке системы сборки Sublime Text 2 для программ С++ для компилятора MinGW под Windows.
Наиболее полная справка по настройке системы сборки находится на сайте неофициальной документации.
Содержание:
1. Стандартная конфигурация С++2. Создание новой конфигурации системы сборки
3. Конфигурация сборки
4. Конфигурация запуска
5. Полный листинг конфигурации
6. Использование системы сборки
1. Стандартная конфигурация С++
Для начала посмотрим стандартную конфигурации системы сборки для С++. Находится она в файле %APPDATA%\Sublime Text 2\Packages\C++\C++.sublime-build и в моём случае имеет вид:1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", "variants": [ { "name": "Run", "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"] } ] } |
Если строка компиляции похожа на корректную, то строка запуска приложения нам под Windows совсем не подходит. А если в переменную окружения PATH не добавлен путь к g++, то компиляция также не произойдёт.
2. Создание новой конфигурации системы сборки
Можно править стандартную конфигурацию С++, а можно создать свою. Я создал отдельную конфигурацию, но это необязательно и иногда даже менее удобно (приходится переключать системы сборки вручную).Для создания новой конфигурации идём в Tools / Build System / New Build System..., в новый файл вставляем текст конфигурации (например, из стандартной конфигурации С++) и сохраняем файл в каталоге %APPDATA%\Sublime Text 2\Packages\, например, в MinGW\MinGW.sublime-build. После этого в Tools / Build System появится новый пункт с именем вашего файла.
3. Конфигурация сборки
На сборку влияют настройки до блока "variants".cmd
Параметр задаёт строку компиляции. Работает из коробки.По-умолчанию это "g++ file -o file_base_name". Можно добавлять опции типа "-s" или "-O2" таким образом:
"cmd": ["g++", "${file}", "-o", "${file_base_name}", "-s", "-O2"]
Но если в переменную окружения PATH не добавлен путь к g++ (как правило MinGW/bin), то Sublime просто не найдёт g++. Можно добавить в PATH путь к g++, а можно обойтись параметром path.
path
Если у вас в переменной окружения PATH прописан путь к g++ (как правило MinGW/bin) и он работает, тогда этот параметр вам не нужен.Этот параметр указывает на то, что во время сборки нужно временно заменить значение переменной окружения PATH, а после окончания сборки возвратить старое значение. Выглядит примерно так:
"path": "C:\\MinGW\\bin\\"
Также позволяет запускать программы без статической линковки библиотек.
file_regex и working_dir можно оставить без изменений.
selector
По этому параметру определяется система сборки, если в Tools / Build System установлено значение Automatic. По-умолчанию файлы *.cpp отсутствуют в селекторе, но система сборки С++ всё-равно выбирается. Если в селектор своей конфигурации добавить source.cpp, тогда в автоматическом режиме будет выбираться она.encoding
Если в процессе сборки в консоли Sublime вы получили кириллицу в некорректной кодировке, тогда этот параметр вам нужен. Выглядит он примерно так:"encoding": "cp866"
4. Конфигурация запуска
По-умолчанию параметрами запуска является блок "Run" в параметре "variants". Из коробки не работает в Windows.Пробовал запуск на обычном консольном приложении типа HelloWorld. После долгих поисков и множественных проб решение для меня было найдено. Вот заветные параметры:
"shell": true,
"cmd": ["start", "${file_base_name}.exe"]
5. Полный листинг конфигурации
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | { "path": "C:\\MinGW\\bin\\", "working_dir": "${file_path}", "cmd": ["g++", "${file}", "-o", "${file_base_name}.exe", "-static", "-s", "-O2"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "selector": "source.c, source.c++, source.cpp", "encoding": "cp866", "variants": [ { "name": "Run", "working_dir": "${file_path}", "shell": true, "cmd": ["start", "${file_base_name}.exe"] } ] } |
6. Использование системы сборки
За работу системы сборки отвечают команды из второй группы в меню Tools.Tools / Build System - выбор системы сборки. Если у вас на автомате некорректно выбирается система сборки, выберите вручную.
Tools / Build [Ctrl+B] - собрать программу (выполнение команды "cmd" из конфигурации).
Tools / Run [Ctrl+Shift+B] - запустить программу (выполнение команды "cmd" из параметра "variants" группы "Run" конфигурации).
Если при сборке или запуске возникли ошибки, нужно пересмотреть конфигурацию системы сборки. Также убедитесь, что используется нужная система сборки.
В начало
у меня не работает ввод даних с клавиатури.... типа `cin >> a;` ... оно само берет какое то число.... что делать?
ОтветитьУдалитьSlot Machines Near You - MapyRO
ОтветитьУдалить› 강릉 출장샵 › › Locations › Hotels › › Locations › Hotels Find your nearest Casino 과천 출장마사지 at any time, in less 문경 출장안마 than 서귀포 출장샵 24 hours. Make sure your next stop near you. 남원 출장마사지