Я пытаюсь создать make-файл для компиляции программы на основе Oculus Rift. У меня есть объектные файлы библиотеки Oculus Rift в каталоге и файлы заголовков в другом каталоге. Вот мой make-файл:
#####
# 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 ...
, Это говорит вам, с точностью до символа или около того, где ваша ошибка. Затем вернитесь и проверьте документацию для wildcard
функция в GNU Make.