我的项目看起来像
project
│
├── bin
│ └── makefile
├── include
│ ├── defs.h
│ ├── func.h
│ └── print.h
└── src
├── func.c
├── main.c
└── print.c
和makefile文件
OBJS = func.o print.o main.o
TARGET = program
INCLUDE_DIR = ../include
SRC_DIR = ../src
vpath %.h $(INCLUDE_DIR)
vpath %.c $(SRC_DIR)
.PHONY: clean
$(TARGET): $(OBJS)
$(CC) $^ -o $@
$(OBJS): defs.h
clean:
rm $(OBJS) $(TARGET)
但当我输入“make”时我得到这个
cc -c -o func.o ../src/func.c
cc -c -o print.o ../src/print.c
cc -c -o main.o ../src/main.c
../src/main.c:1:10: fatal error: func.h: Нет такого файла или каталога
#include "func.h"
^~~~~~~~
compilation terminated.
make: *** [<встроенное>: main.o] Ошибка 1
(对不起,俄语文本,它的东西就像没有这样的文件或目录)
我知道我可以编写#include“../include/func.c”,但有其他解决方案吗?
1条答案
按热度按时间qcbq4gxm1#
我已经解决了这个问题,现在我的makefile如下所示: