Linux编译的问题

问题遇到的现象和发生背景
Linux系统下编译cpp程序 
问题相关代码,请勿粘贴截图

运行结果及报错内容

img

我的解答思路和尝试过的方法

我写了一个类,封装在一个头文件里,然后yzz.cpp引用这个头文件,在yzz.cpp中调用这个类。这样编译yzz.cpp就会产生如上报错。
如果我把这个类直接写在yzz.cpp里面,直接进行调用,程序就可以正常编译

尝试

我本来以为是Makefile存在问题,但是我直接在yzz.cpp中引用一个空的头文件,yzz.cpp也可以正常编译。

Makefile是否把.h所在的路径包含进去了?
参考如下的makefile

#编译器LINUX
CXX=g++
#编译动态库
CXXDL= -g -lpthread $(LIB)
COMPILE=-c -g
#编译目标文件
CXXFLAGS=-g $(INCLUDE) -fPIC
#头文件搜索路径
INCLUDE=-I./ -I/data/haha/include 
#依赖的动态库,如果没有,直接用LIB= 
LIB=-L/data/haha/lib -lTestNetTool

#目标文件
OBJ_FILES=recv.o  

#可执行文件或者动态库
TARGET=./recv

$(TARGET):$(OBJ_FILES)
    @echo "Link the $@ starting..."
    $(CXX) -o $(TARGET) $(OBJ_FILES) $(CXXDL)
    @echo "Link the $@ done."    
$OBJ_FILES:%.o:%.cpp
    $(CXX) $< -o $@ $(COMPILE) -I$./
clean:
    rm $(OBJ_FILES) $(TARGET)