在C中编程时出现Flymake配置错误

在C中编程时出现Flymake配置错误,c,emacs,C,Emacs,在Emacs中尝试运行M-x Flymake模式时,我得到: Flymake: Configuration error has occured while running (make -s -C ./CHK_SOURCES=helloworld_flymake.c SYNTAX_CHECK_MODE=1 check-syntax). Flymake will be switched OFF 我在一个名为helloworld.c的缓冲区中调用该命令: #include <stdio.h&g

在Emacs中尝试运行M-x Flymake模式时,我得到:

Flymake: Configuration error has occured while running (make -s -C ./CHK_SOURCES=helloworld_flymake.c SYNTAX_CHECK_MODE=1 check-syntax). Flymake will be switched OFF
我在一个名为helloworld.c的缓冲区中调用该命令:

#include <stdio.h>

int main(void) {
  printf("Hello World");
  return 0;
}
我在Ubuntu 9.04下运行GNU Emacs 23.0.91.1


提前谢谢

这是makefile的实际内容吗?第二行前面似乎有一个空格“”。这应该是一个选项卡:

helloworld: helloworld.c
 gcc helloworld.c -o helloworld
更像这样:

helloworld: helloworld.c
    gcc helloworld.c -o helloworld
请记住,SO编辑器似乎已将我的制表符转换为空格,所以不要这样做

helloworld: helloworld.c
<press tab here>gcc helloworld.c -o helloworld
helloworld:helloworld.c
gcc helloworld.c-o helloworld

Makefile'必须包含
check syntax'目标。将其附加到Makefile:

check-syntax:
     gcc -o nul -S ${CHK_SOURCES}

确保使用选项卡开始第二行。此外,flymake还有一个bug,它让你不得不用大写字母M来命名Makefile。如果你称它为“Makefile”,那么它就不起作用了。小心

是的,我用的是标签,不是空格。当我在shell中键入“make”时,它编译得很好。此方法的问题是,如果gcc有多个文件,它将不允许工作。不管怎样,你想绕开这件事吗?gcc:致命错误:在多个文件编译终止的情况下,无法使用-c、-S或-E指定-o。一行:
检查语法:;g++-o numl-S${CHK_SOURCES}--std=c++14;rm nul
check-syntax:
     gcc -o nul -S ${CHK_SOURCES}