我正在使用Dev C ++ v5.5.3 我刚刚编写了程序代码,而makefile是由Dev C ++生成的。 我对Makefiles一无所知。这是Dev C ++生成的makefile。 我一直收到错误“目标配方'Dialogs_Private.res'失败”。
请帮忙
# Project: Dialogs
# Makefile created by Dev-C++ 5.5.3
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
RES = Dialogs_private.res
OBJ = Main.o $(RES)
LINKOBJ = Main.o $(RES)
LIBS = -L"C:/Program Files/Dev-Cpp/MinGW32/lib" -static-libstdc++ -static-libgcc
INCS = -I"C:/Program Files/Dev-Cpp/MinGW32/include"
CXXINCS = -I"C:/Program Files/Dev-Cpp/MinGW32/include"
BIN = Dialogs.exe
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS)
RM = rm -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)
Main.o: Main.cpp
$(CPP) -c Main.cpp -o Main.o $(CXXFLAGS)
Dialogs_private.res: Dialogs_private.rc dialogResource.rc
$(WINDRES) -i Dialogs_private.rc --input-format=rc -o Dialogs_private.res -O coff
答案 0 :(得分:0)
从生成的makefile中我们可以发现您正在使用自己的资源脚本。
Dialogs_private.res: Dialogs_private.rc dialogResource.rc
DevC ++将生成一个资源脚本( ProjectName_private.rc ,在您的情况下,是 Dialogs_private.rc )并创建一个资源文件( ProjectName_private.res < / em>)通过该脚本。在你的情况下,这个生成的 Dialogs_private.rc 文件可能是这样的:
/* THIS FILE WILL BE OVERWRITTEN BY DEV-C++ */
/* DO NOT EDIT! */
#include "dialogResource.rc"
如您所见,它只包含您的 dialogResource.rc 。 DevC ++将尝试编译它。如果您的资源脚本有一些错误,则无法编译。然后你会看到一个错误,告诉你recipe for target 'Dialogs_Private.res' failed
。
您应检查自己的资源脚本,并查看脚本文件中是否有任何错误。例如,您是否遗漏了一些您要编译的资源,但是您忘记将资源文件放在正确的路径上?成功编译完所有资源脚本后,将修复此错误。