Решение судьи Мейгардена правильное, вплоть до правильного побега, и я решил проблему с Vim, которая у меня была, но мне пришлось решить еще пару проблем, чтобы все заработало.В частности,
cl.exe
требует правильной среды и правильного пути;т.е. добавление C:\my\path\to\cl
недостаточно.В противном случае вы получите сообщение об ошибке при отсутствии DLL
s.Решение состоит в том, чтобы запустить vcvars32.bat
(или любой другой пакетный файл, который устанавливает аналогичную среду) и cl
в виде одной команды.
cmd
требуются любые пути с пробеламибыть в двойных кавычках, но вы не можете избежать их с \
, потому что :! ...
трактует \
буквально;вместо этого вы должны дважды заключить двойную кавычку, ""...
.
Итак, для полноты я подумал, что опубликую свое действительное решение.В Vim (или _vimrc
):
:set makeprg=\"\"Program\ Files\ (x86)\\Microsoft\ Visual\ Studio\ 10.0\\VC\\bin\\vcvars32.bat\"\&\&cl\"
, а затем вы можете просто позвонить
:make %
и все готово.
Этот метод легко обобщаетсядля любого компилятора.Кроме того, как следует из ответа devemouse, создание make-файла для nmake
, вероятно, является наилучшим способом сделать что-то для любого нетривиального проекта (я хотел решение только для Vim, которое подходит для моей текущей работы).