C++ 生成文件目录错误

C++ 生成文件目录错误,c++,makefile,subdirectory,C++,Makefile,Subdirectory,我在makefile中使用这段代码,除了最后一行,一切都很顺利。 我的代码文件夹如下所示: 项目/bin->用于可执行文件 Project/build->For.o文件 Project/include->For.hpp文件 Project/src->For.cpp文件 Makefile路径:项目/Makefile # Compiler # CC = g++ DEBUG = -g LFLAGS = CFLAGS = -Wall # Directories # SRCDI

我在makefile中使用这段代码,除了最后一行,一切都很顺利。 我的代码文件夹如下所示:

项目/bin->用于可执行文件

Project/build->For.o文件

Project/include->For.hpp文件

Project/src->For.cpp文件

Makefile路径:项目/Makefile

# Compiler #
CC       = g++
DEBUG    = -g
LFLAGS   =
CFLAGS   = -Wall

# Directories #
SRCDIR   = src/
INCDIR   = include/
BUILDDIR = build/
BINDIR   = bin/

# Objects #
OBJ_NAMES = main.o dfa.o dfaException.o state.o
OBJS       = $(addprefix $(BUILDDIR), $(OBJ_NAMES))

# Output #
TARGET = $(BINDIR)pract3

$(TARGET): $(OBJS)
    $(CC) $(CCFLAGS) $(LFLAGS) $(OBJS) -o $(TARGET)

$(BUILDDIR)%.o: $(SRCDIR)%.cpp
    $(CC) $(CCFLAGS)  $(LFLAGS) -c $< -o $(BUILDDIR)$($(notdir  $<):.cpp=.o)
#编译器#
CC=g++
调试=-g
LFLAGS=
CFLAGS=-Wall
#目录#
SRCDIR=src/
INCDIR=包括/
BUILDDIR=build/
BINDIR=bin/
#物体#
对象名称=main.o dfa.o dfaException.o state.o
OBJS=$(addprefix$(BUILDDIR),$(OBJ_名称))
#输出#
目标=$(BINDIR)pract3
$(目标):$(OBJS)
$(CC)$(CCFLAGS)$(LFLAGS)$(OBJS)-o$(目标)
$(BUILDDIR)%.o:$(SRCDIR)%.cpp
$(CC)$(CCFLAGS)$(LFLAGS)-c$<-o$(BUILDDIR)$($(notdir$
$(notdir)
对字符串进行操作

$(X:Y=Z)
X
变量的值进行操作

所以当
$
$($(notdir  $<):.cpp=.o)
$(mysrc.cpp:.cpp=.o)
 $(notdir  $(<:.cpp=.o))
$(CC) $(CCFLAGS)  $(LFLAGS) -c $< -o $@