0

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

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

这是生成文件...

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

4

1 回答 1

1

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

于 2016-01-24T14:46:07.563 回答