在Windows 10(MinGW)中使用gVim 8.1编译C / C ++

时间:2019-02-01 01:59:19

标签: c++ vim windows-10

由于所有内容都是32位的,因此我使用了:set makeprg=mingw32-make,然后尝试通过:!make进行编译,这给出了以下错误消息:

  

'make'不被识别为内部或外部命令,可操作程序或批处理文件。

     

shell返回1

我尝试了基本的“再见世界”内容:

#include <iostream>

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

我在做什么错?除了是菜鸟。

2 个答案:

答案 0 :(得分:1)

:!make未运行'makeprg'。它运行make。由于您专门尝试运行mingw32-make.exe,因此大概没有名为make.exe的可执行文件。 (请参见:help :!

:make运行'makeprg'。 (请参见:help :make:help 'makeprg'

  

我的目标是通过控制台或终端或任何可观察的方式观看“再见世界”。是否需要对_vimrc文件进行其他修改?

您希望通过修改makefile来实现。 :make的所有参数都将传递给'makeprg'。如果您定义了目标clean(以删除Make制品)或run(以执行Make的产品),则可以在其中写入:mak clean:mak run Vim运行这些目标。显然,您可以创建自己的命令和/或映射来使这些:make命令更快。

答案 1 :(得分:0)

请注意(我自己完全忽略了这一点,愚蠢的我),当您运行一个简单的代码(例如上面的代码)时,不需要大量的文件管理和Makefile,您所要做的就是:!gcc %对于C和:!g++ %对于C ++。我相信(也许是错的,但这是一个简单的观察结果),在Vim中,:!指示以下命令将在系统命令提示符中执行,而gcc/g++是要调用的命令分别针对C和C ++的GNU编译器。最后,%用于指示当前文件名,所有扩展名均保持不变。正如我通过以下操作所做的那样,这在键盘映射的情况下非常有用:

nnoremap <F5> :!g++ %<CR>|"Press Func.5 to Compile via GNU Comp.