Скомпилируйте C / C ++ с gVim 8.1 в Windows 10 (MinGW) - PullRequest
0 голосов
/ 01 февраля 2019

Поскольку все 32-битные, я использовал :set makeprg=mingw32-make, а затем попытался скомпилировать с помощью :!make, что привело к следующему сообщению об ошибке:

'make' не распознается как внутреннийили внешняя команда, работающая программа или командный файл.

оболочка вернула 1

Я попробовал базовые вещи "Goodbye World":

#include <iostream>

int main() {
    std::cout << "Goodbye World";
    return 0;
}

Что яделать неправильно?Кроме того, чтобы быть нубом.

Ответы [ 2 ]

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

Обратите внимание (и я полностью упустил это из виду, глупый я), что когда вы запускаете простой код, такой как приведенный выше, который не требует обширного управления файлами и Makefiles, все, что вам нужно, это :!gcc % для Cи :!g++ % для C ++.Я полагаю (и могу ошибаться, но это простое наблюдение), что в Vim :! указывает, что в системной командной строке должны выполняться следующие команды, а gcc/g++ - это команда для вызова компилятора GNU дляС и С ++ соответственно.Наконец, % используется для обозначения текущего имени файла со всеми расширениями без изменений.Это чрезвычайно полезно в случаях сопоставления клавиш, как я сделал с помощью следующего:

nnoremap <F5> :!g++ %<CR>|"Press Func.5 to Compile via GNU Comp.
0 голосов
/ 01 февраля 2019

:!make не работает 'makeprg'.Он работает make.Поскольку вы специально пытаетесь запустить mingw32-make.exe, возможно, у вас нет исполняемого файла с именем make.exe.(См. :help :!)

:make пробеги 'makeprg'.(См. :help :make, :help 'makeprg')

Моя цель - увидеть «Прощальный мир» либо в консоли, либо в терминале, либо любым видимым способом.Требует ли это дополнительных действий для файла _vimrc?

Вы бы предпочли сделать это, повозившись со своим make-файлом.Все аргументы :make будут переданы 'makeprg'.Если вы определили цели clean (для удаления артефактов Make) или run (для выполнения продукта вашего Make), вы сможете написать :mak clean или :mak run в Vim для запуска этих целей.Очевидно, что вы можете создавать свои собственные команды и / или отображения для ускорения этих :make команд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...