Sun*_*ong 14 c++ vim compilation
我想在没有关闭vi的情况下编译cpp文件.
我知道:!g ++ file.cpp但我更喜欢:make所以我在.vimrc文件中添加了这一行
au FileType C set makeprg = gcc \%
au FileType Cpp set makeprg = g ++ \%
但我一直得到
"make:*****没有指定目标,也没有找到makefile.停止.**"消息.
谁能告诉我我的设置有什么问题?
我用上面的选项成功编译.
Rob*_*lls 10
你需要在那里替换,尝试类似:
set makeprg=gmake\ %:r.o
哦,这假设你有:
输入以下内容检查默认值:
make -n <my_file>.o
并看看这是否给你一些明智的东西.
如果在另一个位置存在makefile,则可以添加-f选项以指向makefile,例如:
set makeprg=gmake\ -f\ ../some_other_dir/makefile\ %:r.o
顺便说一句,为了学习make,尤其是gmake,我建议你看一本优秀的书"使用GNU Make管理项目"(清理亚马逊链接).
HTH.
干杯
我认为如果你编写一个Makefile并把它放在vi可以找到它的地方会容易得多.我不确定你是否真的使用vi(我只使用过Vim),但是当有一个Makefile编译时应该像写一样简单:make(不需要set makeprg).
它可以通过使用键映射轻松实现。
首先打开你的 vimrc 文件和文件中的这些行,
autocmd filetype cpp nnoremap <F4> :!g++ % -ggdb -o %:r <CR>
autocmd filetype cpp nnoremap<F5> :!g++ % -ggdb -o %:r && ./%:r <CR>
第一行将键 F4 映射到编译文件。第二行将键 F5 映射到compile 和 run。
如果您经常使用 gdb,那么这也可能会派上用场。
autocmd filetype cpp nnoremap<F10> :!g++ % -ggdb -o %:r && gdb -tui %:r <CR>
这一行映射了 F10 键来编译和启动 gdb
希望这可以帮助。