我的编译器不会发现在一个子文件夹的标题包含在CPP文件 #include "comm\ComPublic.h"
页眉没有找到
我的主人的Makefile:
SUB_POUET=Pouet \
PouetTech \
PouetPrivate
all: $(SUB_POUET)
PouetTech:
@(cd PouetTech && $(MAKE))
Pouet:
@(cd Pouet && $(MAKE))
PouetPrivate:
@(cd PouetPrivate && $(MAKE))
.PHONY: clean mrproper $(SUB_POUET)
clean:
@(cd $(SUB_POUET) && $(MAKE) [email protected])
mrproper: clean
@(cd $(SUB_POUET) && $(MAKE) [email protected])
子makefile1:
include ../Definitions.mif
SRC=$(wildcard *.cpp)
OBJ_FILES=$(addprefix $(OBJECTS_DIR)/,$(notdir $(SRC:.cpp=.o)))
INCLUDES=-I../PouetTech -I../../libs/MPSSE -I../../libs/FTDI/$(OS) -I../shared -I../../libs/libmodbus-3.0.6/src
CXXFLAGS+=$(INCLUDES)
all: $(OBJ_FILES)
$(OBJECTS_DIR)/%o: %cpp | objects_dir
$(CXX) -o [email protected] -c $< $(CXXFLAGS)
objects_dir:
mkdir -p $(OBJECTS_DIR)
.PHONY: clean mrproper
clean:
rm -rf *.o
Sub-makefile 2
include ../Definitions.mif
SRC=$(wildcard *.cpp)
OBJ_FILES=$(addprefix $(OBJECTS_DIR)/,$(notdir $(SRC:.cpp=.o)))
INCLUDES=-I../PouetTech -I../Pouet -I../shared
CXXFLAGS+=$(INCLUDES)
all: $(OBJ_FILES)
$(OBJECTS_DIR)/%o: %cpp | objects_dir
$(CXX) -o [email protected] -c $< $(CXXFLAGS)
objects_dir:
mkdir -p $(OBJECTS_DIR)
.PHONY: clean mrproper
clean:
rm -rf *.o
子生成文件3是相同的2 而我的文件夹是这样的:在第三生成文件(PouetPrivate)过程中出现
src
|_makefile
|_Pouet
| |_makefile
|_PouetTech
| |_makefile
|_PouetPrivate
| |_makefile
|_shared
|_comm
|_ComPublic.h
的问题,但“共用”的文件夹被包括在生成文件。
如果我将-I../shared/comm
添加到生成文件并将包含更改为#include "ComPublic.h"
它的作品。但我不想手动包含makefile中的所有文件夹。
这可能只是一个简单的错误,但我没有在生成文件太多经验
此外,它的使用MinGW的时候做工精细/窗口或Visual Studio下MSYS
编辑:和我有同样的问题与另一个“通讯”子文件夹
这的确很简单,谢谢 –