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

#####
# 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,但我不知道如何解决。

最佳答案

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

关于c++ - Oculus基本Makefile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24180801/

10-13 04:05