我为 c++ 文件编写了一个简单的 makefile,但这是一个我不明白的问题。我有 2 个文件夹
/src 用于 .cpp 文件
- 主文件
- 检查cpp
/include 用于 .hpp 文件
- 检查.hpp
我的 Makefile 看起来像这样
LIBS = -lsfml-graphics -lsfml-window -lsfml-system
CC = g++
VPATH = src include
CPPFLAGS = -I include
### Files ###
OBJ = main.o check.o
### Rules ###
all: sfml-app
sfml-app: $(OBJ)
$(CC) -o sfml-app $(OBJ) $(LIBS)
%.o: %.c
$(CC) -c $<
clean:
rm -rf *o $(OBJ)
如果我像这样使用我的makefile,一切正常。但是如果我将%.o: %.c更改为%.o: %.cpp他说
src/main.cpp:2:21: critical error: check.hpp: file or folder not found
即使它是一个 c++ 项目,写 .cpp 而不是 .c 是错误的吗?这让我有点困惑。为什么 .c 有效 finde 而 .cpp 无效。
感谢您的帮助 :) !