Makefile c++:***缺少分隔符

问题描述 投票:0回答:1

我正在尝试使用以下 makefile 在 cpp 中运行程序,但我还没有找到以下错误的解决方案:“Makefile:24: *** missing separator. Stop.” 有人对此有解决方案的建议吗?


# Makefile

# Comando padrão para compilação
CXX = g++
CXXFLAGS = -std=c++11 -Wall

# Diretórios do projeto
SRCDIR = src
INCDIR = include
OBJDIR = obj
BINDIR = bin

# Nome do executável
TARGET = $(BINDIR)/program

# Objetos gerados a partir dos arquivos de código
OBJS = $(OBJDIR)/main.o $(OBJDIR)/file1.o $(OBJDIR)/file2.o

# Comando para limpar os arquivos gerados pela compilação
RM = rm -f

# Comando padrão para compilação
$(TARGET): $(OBJS)
    $(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS)

# Regra para gerar os arquivos objeto
$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
    $(CXX) $(CXXFLAGS) -I$(INCDIR) -c $< -o $@

# Comando para executar o programa
run: $(TARGET)
    ./$(TARGET)

# Comando para limpar os arquivos gerados pela compilação
clean:
    $(RM) $(OBJS) $(TARGET)

# Comando para limpar tudo e iniciar do zero
reset: clean
    $(RM) $(OBJDIR)/* $(BINDIR)/*

# Faz com que a regra "clean" seja executada mesmo que não haja alvo
.PHONY: clean reset run
makefile
1个回答
1
投票

这些通常是在 Makefile 文件中发现的错误:

  1. 有空格而不是制表符

  2. 文件中没有最后的换行符

© www.soinside.com 2019 - 2024. All rights reserved.