我有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)
任何帮助将不胜感激。
答案 0 :(得分:1)
我相信这是一个简单的错字:您将数组称为OBJ
,但将其引用为OBJS
。