You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译目标失败求助:联邦所得税计算程序Makefile问题

解决Makefile中"Recipe for target failed"的问题

嘿,我一眼就揪出问题所在了——你的文件名里用了#,而这个字符在Makefile里是注释的起始标记,直接把整个Makefile的语法结构搞乱了!

咱们来拆解下具体的错误点:

  • 比如OBJ = #3.o这一行,Make会把#后面的所有内容都当成注释,导致OBJ变量实际上是空的;
  • 再看#3.o: #3.cpp这一行,#3.cpp前面的#直接把依赖关系给注释掉了,后续的编译命令也会被错误解析,Make根本找不到正确的编译目标和依赖文件,自然会报"Recipe for target failed"。

最简单的解决方案:修改文件名

直接把你的源文件改成不带特殊字符的名字,比如hw3.cpp,然后对应修改Makefile里的内容,修改后的完整Makefile如下:

CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OBJ = hw3.o
LINKOBJ = hw3.o
LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc
INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN = HOMEWORK.exe
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS)
RM = rm.exe -f
.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after
clean: clean-custom ${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
	$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
hw3.o: hw3.cpp
	$(CPP) -c hw3.cpp -o hw3.o $(CXXFLAGS)

如果一定要保留带#的文件名(不推荐)

要是你坚持要用#3.cpp这个文件名,需要对#进行转义并用单引号包裹文件名,但这种方式很容易踩其他坑,仅作参考:

# 注意:这种方式容易引发其他问题,不推荐使用
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OBJ = '#3.o'
LINKOBJ = '#3.o'
# 其他配置保持不变...
$(BIN): $(OBJ)
	$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
'#3.o': '#3.cpp'
	$(CPP) -c '#3.cpp' -o '#3.o' $(CXXFLAGS)

还是强烈建议你修改文件名,避开Makefile中有特殊含义的字符(比如#、$、空格等),这样能省掉很多不必要的麻烦~

内容的提问来源于stack exchange,提问作者user12091451

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 16:27:46