我想在没有关闭vi的情况下编译cpp文件.
我知道:!g ++ file.cpp但我更喜欢:make所以我在.vimrc文件中添加了这一行
au FileType C set makeprg = gcc \%
au FileType Cpp set makeprg = g ++ \%
但我一直得到
"make:*****没有指定目标,也没有找到makefile.停止.**"消息.
谁能告诉我我的设置有什么问题?
我用上面的选项成功编译.
你需要在那里替换,尝试类似:
set makeprg=gmake\ %:r.o
哦,这假设你有:
目录中的(M | m)akefile,或
默认的SUFFIX规则适用于您的环境(看起来没有)
输入以下内容检查默认值:
make -n.o
并看看这是否给你一些明智的东西.
如果在另一个位置存在makefile,则可以添加-f选项以指向makefile,例如:
set makeprg=gmake\ -f\ ../some_other_dir/makefile\ %:r.o
顺便说一句,为了学习make,尤其是gmake,我建议你看一本优秀的书"使用GNU Make管理项目"(清理亚马逊链接).
HTH.
干杯
我应该将C,Cpp改为c,cpp,然后才能正常工作.
谢谢大家,特别是Rob Wells,你的回答对我很有帮助.谢谢.
我认为如果你编写一个Makefile并把它放在vi可以找到它的地方会容易得多.我不确定你是否真的使用vi(我只使用过Vim),但是当有一个Makefile编译时应该像写一样简单:make(不需要set makeprg).