1

我正在尝试创建一个用于编译基于 Oculus Rift 的程序的生成文件。我在一个目录中有 Oculus Rift 库的目标文件,在另一个目录中有头文件。这是我的生成文件:

#####
# MAIN PROGRAM
#####

CXX = g++
CXXFLAGS = 

DEPS_OVR = ($wildcard LibOVR/Src/*.h) ($wildcard LibOVR/Src/CAPI/*.h) ($wildcard LibOVR/Src/Util/*.h)
DEPS = 

OBJ_OVR = ($wildcard LibOVR/Obj/Linux/Release/x86_64/*.o)
OBJ = main.o 
EXE = BenchOculus

LIBS =

#####
# RULES
#####

all: $(EXE)

%.o: %.cpp $(DEPS_OVR) $(DEPS)
    $(CXX) -Wall -c -o $@ $< $(CXXFLAGS) $(LIBS) 

$(EXE): $(OBJ) $(OBJ_OVR) 
    $(CXX) -o $@ $(OBJ) $(OBJ_OVR) $(CXXFLAGS) $(LIBS)
    chmod +x $@

clean:
    rm -f $(OBJ)
    rm -f $(EXE)

当我运行 make 时,出现以下错误:

make: *** No rule to make target `(ildcard', needed by `BenchOculus'. Stop.

我认为问题可能存在于 DEPS_OVR 和 OBJ_OVR 但我不知道如何解决这个问题。

4

1 回答 1

2

查看错误消息,并问自己为什么它在抱怨一个目标(ildcard,而你写的是($wildcard ...。这告诉你,在一个字符左右,你的错误在哪里。然后返回并查看wildcardGNU Make 中函数的文档。

于 2014-06-12T10:11:47.680 回答