Ошибка конфигурации Flymake при программировании на C
При попытке запустить M-x Flymake-Mode в Emacs я получаю:
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;
}
И создайте файл Makefile в том же каталоге:
helloworld: helloworld.c
gcc helloworld.c -o helloworld
Я запускаю GNU Emacs 23.0.91.1 под Ubuntu 9.04.
Спасибо заранее!
Ответы
Ответ 1
Makefile' must contain the
target-syntax 'target. Добавьте это в Makefile:
check-syntax:
gcc -o nul -S ${CHK_SOURCES}
Убедитесь, что вы используете TAB для запуска второй строки. Также есть ошибка с flymake, которая заставляет вас называть Makefile с капиталом M. Это не сработает, если вы, скажем, назовете его "makefile". Следите за этим!
Ответ 2
Является ли это фактическим содержимым вашего файла 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