【发布时间】:2021-11-22 09:19:22
【问题描述】:
我正在尝试使用带有一些 gcc 参数的 makefile.txt 编译一个 .c 文件。
我有以下 Makefile:
GCC_OPTIONS=-std=c11 -pedantic-errors -Wstrict-prototypes -Wall -Wextra -Wno-format-security -Werror -Werror=vla
OBJS=driver.o q.o
EXEC=q.out
$(EXEC):$(OBJS)
gcc $(GCC_OPTIONS) $(OBJS) -o q.out -lm
qdriver.o:qdriver.c q.h
gcc $(GCC_OPTIONS) -c qdriver.c -o qdriver.o
q.o:q.c q.h
gcc $(GCC_OPTIONS) -c q.c -o q.o
clean:
rm $(OBJS) $(EXEC)
当我运行 make all 时,我得到以下我无法修复的错误:
./makefile.txt: line 1: -pedantic-errors: command not found
: Permission deniede 2: ./q.o
./makefile.txt: line 4: EXEC: command not found
./makefile.txt: line 4: OBJS: command not found
./makefile.txt: line 4: $':\r': command not found
./makefile.txt: line 5: GCC_OPTIONS: command not found
./makefile.txt: line 5: OBJS: command not found
/usr/bin/ld: cannot find -lm
collect2: error: ld returned 1 exit status
./makefile.txt: line 6: qdriver.o:qdriver.c: command not found
./makefile.txt: line 7: GCC_OPTIONS: command not found
: No such file or directory
./makefile.txt: line 8: q.o:q.c: command not found
./makefile.txt: line 9: GCC_OPTIONS: command not found
./makefile.txt: line 10: $'clean:\r': command not found
./makefile.txt: line 11: OBJS: command not found
./makefile.txt: line 11: EXEC: command not found
rm: cannot remove ''$'\r': No such file or directory
【问题讨论】:
-
请检查您问题中 Makefile 的格式。我的意思是,问题中的外观与您实际拥有的相同。 Makefile(如 Python)对空格和缩进敏感,因此如果格式关闭,仅此一项就可能导致问题。
-
请显示您调用的命令,而不仅仅是错误消息。