2016-01-24 83 views
0

所以,我一直在尝试编译Hyperion 1.2程序,但我总是遇到错误:“没有规则使目标”Src \ Crypter \ createoutput.ccp“需要用于” createoutput.o”即使它的存在。没有规则制定目标(Hyperion)

CC = g++ 
SRC = Src\Crypter 
BIN = . 
OBJ = Obj 
CFLAGS = -ansi -c -Wall -pedantic -O2 -m32 

.PHONY:all 
all: createoutput.o fileaccess.o peanalysis.o pe.o hyperion.o ostreamlog.o 
    $(CC) -o $(BIN)\hyperion.exe $(OBJ)\hyperion.o $(OBJ)\pe.o $(OBJ)\peanalysis.o $(OBJ)\fileaccess.o $(OBJ)\createoutput.o $(OBJ)\ostreamlog.o 

createoutput.o: $(SRC)\createoutput.cpp 
    $(CC) $(CFLAGS) -o $(OBJ)\createoutput.o $(SRC)\createoutput.cpp 

fileaccess.o: $(SRC)\fileaccess.cpp 
    $(CC) $(CFLAGS) -o $(OBJ)\fileaccess.o $(SRC)\fileaccess.cpp 

peanalysis.o: $(SRC)\peanalysis.cpp 
    $(CC) $(CFLAGS) -o $(OBJ)\peanalysis.o $(SRC)\peanalysis.cpp 

pe.o: $(SRC)\pe.cpp 
    $(CC) $(CFLAGS) -o $(OBJ)\pe.o $(SRC)\pe.cpp 

hyperion.o: $(SRC)\hyperion.cpp 
    $(CC) $(CFLAGS) -o $(OBJ)\hyperion.o $(SRC)\hyperion.cpp 

ostreamlog.o: $(SRC)\ostreamlog.cpp 
    $(CC) $(CFLAGS) -o $(OBJ)\ostreamlog.o $(SRC)\ostreamlog.cpp 

.PHONY:clean 
    clean: 
    del $(BIN)\hyperion.exe && del $(OBJ)\*.o 

这里是makefile文件...

我意识到,这个问题已经被问过很多次,但我,即使经过大约四个小时的搜索,找不到任何答案,我尝试用tab替换空格,并检查了语法,这些文件确实在SRC文件夹中,所以我有点绝望。

+0

您应该在每个命令行的开头都有一个制表符。 – sergej

+0

@sergej我在makefile中只是忘记了在这里添加它...对不起 – OrionHunt

+0

也许在Windows上使用斜杠的问题? – sergej

回答

1

您必须始终在makefile中的路径名中使用正斜杠,而不是反斜杠。

+0

非常感谢。现在我觉得自己像个白痴,以前不知道......谢谢。 – OrionHunt

相关问题