因此,我一直在尝试编译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
这是makefile文件...
我意识到这个问题已经问了很多遍了,但是即使经过大约四个小时的搜索,我仍然找不到任何答案。我尝试用制表符替换空格,并检查了语法。这些文件确实位于SRC文件夹中,所以我有些绝望。
最佳答案
您必须在makefile的路径名中始终使用正斜杠,而绝不能使用反斜杠。
关于c++ - 没有规则制定目标(Hyperion),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34974949/