制定目标没有规则(Hyperion)

时间:2016-01-24 11:02:40

标签: c++ makefile hyperion

所以,我一直在尝试编译Hyperion 1.2程序,但我总是遇到错误:"没有规则来制作目标" Src \ Crypter \ createoutput.ccp"需要" createoutput.o"即使它在那里。

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 ...

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

1 个答案:

答案 0 :(得分:1)

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