所以,我一直在尝试编译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文件夹中,所以我有点绝望。
答案 0 :(得分:1)
您必须始终在makefile中的路径名中使用正斜杠,而不是反斜杠。