Ответ 1
Я должен изменить C, Cpp на c, cpp, тогда он отлично работает.
спасибо всем, особенно Роб Уэллс, ваш ответ мне очень помог. спасибо.
Я хотел бы скомпилировать файл cpp без отключения vi.
Я знаю :! g++ file.cpp, но я предпочитаю : make, поэтому я добавил эту строку в файл .vimrc
au FileType C set makeprg = gcc\%
au FileType Cpp set makeprg = g++ \%
но я продолжаю получать
"make: ***** Нет заданных целей и не найден файл makefile. Остановить **.".
может ли кто-нибудь сказать мне, что не так с моей настройкой?
Я использую для успешного компиляции с опцией выше.
Я должен изменить C, Cpp на c, cpp, тогда он отлично работает.
спасибо всем, особенно Роб Уэллс, ваш ответ мне очень помог. спасибо.
Вам нужна замена там, попробуйте что-то вроде:
set makeprg=gmake\ %:r.o
О, это предполагает, что у вас есть:
Проверьте значение по умолчанию, введя:
make -n <my_file>.o
и посмотрите, дает ли это что-то разумное.
Если в другом месте есть make файл, вы можете добавить опцию -f, чтобы указать на make файл, например:
set makeprg=gmake\ -f\ ../some_other_dir/makefile\ %:r.o
BTW Чтобы узнать о make и особенно gmake, я бы посоветовал взглянуть на отличную книгу "Управление проектами с помощью GNU Make" (санированная ссылка Amazon).
НТН.
веселит
Я думаю, это намного проще, если вы напишете Makefile и поместите его там, где vi может его найти. Я не уверен, что вы фактически используете vi (я только использовал Vim), но когда компиляция Makefile должна быть такой же простой, как писать : make (не требуется make makeg).
Я рекомендую плагин vim под названием SingleCompile вместо того, что вы сделали: http://www.vim.org/scripts/script.php?script_id=3115
Это можно легко достичь с помощью карт ключей.
Сначала откройте файл vimrc и эти строки в файле,
autocmd filetype cpp nnoremap <F4> :!g++ % -ggdb -o %:r <CR>
autocmd filetype cpp nnoremap<F5> :!g++ % -ggdb -o %:r && ./%:r <CR>
Первая строка отображает ключ F4 на компиляцию файла. Вторая строка отображает ключ F5 в , компилируется и запускается.
Если вы часто используете gdb, это также может пригодиться.
autocmd filetype cpp nnoremap<F10> :!g++ % -ggdb -o %:r && gdb -tui %:r <CR>
Эта строка отображает ключ F10 в скомпилировать и запустить gdb
Надеюсь, что это поможет.
Прежде всего, просто сделайте кровавый файл. Каждый инструмент там, как ожидается, будет работать с make, и если ваши компиляции настолько просты, потребуется около 30 секунд, чтобы написать файл make, который компилирует все файлы c и cpp в исполняемый файл.
Во-вторых, если вы откажетесь использовать файл make, попробуйте
:help system
Это должно дать вам достаточно информации, чтобы придумать свою собственную команду, подобную этой
:com Mymake call system("g++ ".expand("%"))