Есть ли способ заставить возвышенный текст или любой другой редактор использовать gcc или g++, который находится в подсистеме Windows Linux в Windows 10?

По сути, я хочу найти способ использовать компиляторы gcc и g++, которые я установил в подсистеме Linux, в моей версии Windows с любым текстовым редактором.

Я знаю, что в Linux вы можете создавать и запускать свои программы на C из возвышенного текста. Так кто-нибудь нашел способ взаимодействовать с WSL вне bash?

Спасибо и извините за запутанный вопрос.


person CVasquezG    schedule 07.06.2016    source источник


Ответы (3)


Вы можете передать любую команду bash.exe с помощью переключателя -c, например bash -c "ls" запускает bash и выводит список CWD. Дополнительные сведения см. в справочнике по WSL.

Я не работаю в Windows, но вы можете попробовать перевести это в систему сборки для Sublime Text. Создайте новую систему сборки (Инструменты > Система сборки > Новая система сборки…) и скопируйте и вставьте следующее:

{
  "selector" : "source.c",
  "cmd" : ["bash", "-c", "gcc \"$file_name\" -o \"${file_base_name}\""],
  "shell": true, /* or false? */
  "working_dir": "${project_path:${folder}}",
}

Пожалуйста, дайте нам знать, если это работает, и я соответствующим образом отредактирую пример!

Обновление: Что касается ошибки 0x80070057, возможно, вам придется отключить устаревшую консоль в свойствах командной строки (см. Часто задаваемые вопросы или этот открыть вопрос для подробностей!)

person idleberg    schedule 07.06.2016
comment
эта команда работает, когда я запускаю ее в командной строке bash -c "cd /mnt/c/Users/Camilo/Desktop/ & gcc task5.c & ./a.out", но я все равно получаю ту же нулевую ошибку, даже когда я пытаюсь выполнить простую программу печати приветствия - person CVasquezG; 07.06.2016

Это был бы ответ, однако вам нужно запустить по крайней мере сборку # 14951 Windows 10, которая доступна только через бета-программу Insider. Причина в том, что bash на окнах по умолчанию имеет только stdio - без поддержки каналов (например: вернет ошибку 0x80070057, если вы попытаетесь использовать его в Sublime Text). Как уже говорилось, поддержка уже добавлена, но, поскольку WSL — это бета-версия, вам необходимо использовать последние сборки Windows 10. В качестве бонуса, если вы обновитесь, у вас будет поддержка Ubuntu 16.04 вместо 14.04.

Источники:

person Qrchack    schedule 21.10.2016

В дополнение к ответам здесь вы можете использовать этот мод sublimeGDB, который я сделал. Он работает с возвышенным текстом 3 и GDB. некоторые ошибки, но работает. Вам просто нужно клонировать его в папку возвышенного подключения и удалить «_WSL». https://github.com/Vinggui/SublimeGDB_WSL

person Vinggui    schedule 10.04.2018