C++ 如何使用target“编写makefile;错误;?
我需要将目标C++ 如何使用target“编写makefile;错误;?,c++,c,gcc,makefile,gnu,C++,C,Gcc,Makefile,Gnu,我需要将目标错误:添加到我当前的makefile中,以便使用编译器编译多个不同的程序,打印所有可能出现的错误消息,例如: error: expected ';' before 在我当前的makefile中,我已经设置了gcc标志-Wall和-Wextra(对于目标all,debug)-这足以生成完整的错误消息输出吗 或者是否需要以更具体的方式设置目标错误 编辑:这是我当前Makefile的一部分: CC = gcc CFLAGS = -std=c99 -Wall -Wextra SRC
错误:
添加到我当前的makefile中,以便使用编译器编译多个不同的程序,打印所有可能出现的错误消息,例如:
error: expected ';' before
在我当前的makefile中,我已经设置了gcc标志-Wall
和-Wextra
(对于目标all
,debug
)-这足以生成完整的错误消息输出吗
或者是否需要以更具体的方式设置目标错误
编辑:这是我当前Makefile
的一部分:
CC = gcc
CFLAGS = -std=c99 -Wall -Wextra
SRC = test.c // here I want to add more programs, how is this possible?
BIN = test
binary: $(SRC)
$(CC) $(CFLAGS) -o $(BIN) $(SRC) $(LDFLAGS)
all: binary
您可以在
Makefile的第一个目标之前添加
.PHONY: all clean errors
errors:
$(MAKE) -k all
您可以在Makefile
.PHONY: all clean errors
errors:
$(MAKE) -k all
你应该阅读
顺便说一句,你可能是指规则:
binary: $(BIN)
您应该避免将可执行文件命名为test
(这是许多shell中的内置命令,也是标准的/usr/bin/test
)不清楚您在问什么。请编辑您的问题,以显示更多您的Makefile
@BasileStarynkevitch我想他是在问如果他在make中使用-Wall和-Werror,它是否会为他的代码中的错误生成消息。如果不是的话,他如何通过编辑makefile@codebat:为什么不能简单地运行make-k
?不。-Wall
和-Wextra
不会产生任何错误。他们发出警告。如果代码不正确,C++会出错,而不是启用警告。如果你的代码不正确C++,你总是会得到错误,你不需要使用一个选项来请求编译器告诉你它是无效的。正如乔纳森所说,错误总是被报告。您也可以使用-Werror
将所有警告转换为错误,但警告的主题是广泛而复杂的。是的,听起来可能很简单,只需设置错误:二进制