实施通配符后无输入文件错误

时间:2019-03-28 04:53:22

标签: c++ makefile

问题

我有Makefile,并且在定义所有{{1}到A.o(都在K.o目录中)所有我的子例程中,我做了一些乏味的工作。 1}},如下所示。这是我的source,可以正常使用。

有效的方法

OBJ

但是,为了避免这些繁琐的工作,我实现了通配符Makefile,并且我认为它应该可以工作,因为我所说的是{{ 1}}目录

无效的方法

ProjectName = SomeName
CXX = g++ -std=c++11
CXXFLAGS = -c -Wall

OBJ = build/main.o build/A.o \
build/B.o build/C.o \
build/D.o build/E.o \
build/F.o build/G.o \
build/H.o build/I.o \
build/J.o build/K.o \

all: $(ProjectName)

$(ProjectName): $(OBJS)
    $(CXX) -o $@ $(OBJS)

build/%.o: source/%.cpp
    $(CXX) -o $@ $(CXXFLAGS) $<

但是,它显示了一个错误:

$(wildcard source/*.cpp)

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我相信这是一个简单的错字:您将数组称为OBJ,但将其引用为OBJS