makefile配方目标在Dev C ++中失败

时间:2014-03-07 16:10:30

标签: dev-c++

我正在使用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 

1 个答案:

答案 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

您应检查自己的资源脚本,并查看脚本文件中是否有任何错误。例如,您是否遗漏了一些您要编译的资源,但是您忘记将资源文件放在正确的路径上?成功编译完所有资源脚本后,将修复此错误。