我试图创建一个makefile来编译一个基于Oculus裂谷的程序。我在一个目录中有Oculus库的对象文件,在另一个目录中有头文件。这是我的制作文件:
#####
# 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中,但我想不出如何解决这个问题。
发布于 2014-06-12 10:11:47
看看错误消息,问问自己为什么要抱怨目标(ildcard,而您编写的是($wildcard ...。这告诉你,在一个字符内,你的错误在哪里。然后返回并检查GNU中wildcard函数的文档。
https://stackoverflow.com/questions/24180801
复制相似问题