C++ 目标的配方';Project1.exe';失败

C++ 目标的配方';Project1.exe';失败,c++,c,makefile,C++,C,Makefile,我试图在Dev-c++中编译一个简单的c文件,它在第25行显示了一个错误 C:\Users\varun\Desktop\cprog\Makefile.win目标“Project1.exe”的配方失败。 Makefile.win # Project: Project1 # Makefile created by Dev-C++ 5.6.2 CPP = g++.exe CC = gcc.exe WINDRES = windres.exe OBJ = main.o

我试图在
Dev-c++
中编译一个简单的c文件,它在第25行显示了一个错误
C:\Users\varun\Desktop\cprog\Makefile.win目标“Project1.exe”的配方失败。

Makefile.win

# Project: Project1
# Makefile created by Dev-C++ 5.6.2

CPP      = g++.exe
CC       = gcc.exe
WINDRES  = windres.exe
OBJ      = main.o Untitled2.o
LINKOBJ  = main.o Untitled2.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.8.1/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.8.1/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.8.1/include/c++"
BIN      = Project1.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)
    **$(CC) $(LINKOBJ) -o $(BIN) $(LIBS)**

main.o: main.c
    $(CC) -c main.c -o main.o $(CFLAGS)

Untitled2.o: Untitled2.c
    $(CC) -c Untitled2.c -o Untitled2.o $(CFLAGS)
错误

C:\Users\varun\Desktop\cprog\Untitled2.o    Untitled2.c:(.text+0x0): multiple definition of `main'
C:\Users\varun\Desktop\cprog\main.o main.c:(.text+0x0): first defined here
C:\Users\varun\Desktop\cprog\collect2.exe   [Error] ld returned 1 exit status
25      C:\Users\varun\Desktop\cprog\Makefile.win   recipe for target 'Project1.exe' failed

输出的重要位是:

C:\Users\varun\Desktop\cprog\Untitled2.o    Untitled2.c:(.text+0x0): multiple definition of `main'
它告诉您,函数
main
有两种定义。在可执行文件中只需要一个这样的定义。错误的下一行告诉您该定义的位置:

C:\Users\varun\Desktop\cprog\main.o main.c:(.text+0x0): first defined here

因此,在
Untitled2.c
中定义了函数
main
,在
main.c
中定义了另一个函数
main
。删除其中一个。从名称来看,
main.c
可能完全没有必要,但我不能不看文件就说出来。

它肯定也说明了失败的原因。生成的makefile很可能是正确的。您必须向我们展示build命令的准确、完整的输出。否则,我们将无法帮助您。由于是link命令失败,我们很可能正在查找链接器错误。我已编辑了问题并添加了生成命令的输出。请注意,它表示您已定义了多个主要方法。确保你没有这样做。