【发布时间】:2015-07-04 10:37:38
【问题描述】:
我的 Makefile 很好。但是,现在我想要一个名为“Makefile”的文件夹和一个名为“main”的文件夹,其中第一个将包含我的 Makefile,第二个将包含我的项目的 main(),kd GeRaF .
目前,头文件位于同一文件夹中。该文件夹还包含 Makefile 文件夹和主文件夹。
这是我的makefile(尝试了很多组合,这是最后一次尝试):
OBJS = main_par_auto.o
SOURCE = ../main/main_par_auto.cpp
HEADER = ../Division_Euclidean_space.h ../Find_diameter.h ../Find_k_max.h ../Householder.h ../IO.h ../Mean_variance.h ../Point.h ../Random_generator.h ../Random_kd_forest.h ../Tree.h ../Auto_random_kd_forest.h
OUT = geraf
CXX = g++
FLAGS = -pthread -std=c++0x -DRKD_PAR -O3 -Wall
all: $(OBJS)
$(CXX) $(OBJS) -o $(OUT) $(FLAGS)
# create/compile the individual files >>separately<<
main_par_auto.o: main_par_auto.cpp
$(CXX) -c ../main/main_par_auto.cpp $(FLAGS)
.PHONY : all
# clean house
clean:
rm -f $(OBJS)
我收到此错误:
make: *** No rule to make target `main_par_auto.cpp', needed by `main_par_auto.o'. Stop.
我正在执行这个命令:make -f Makefile/Makefile_par_auto 以便编译。
请问我错过了什么?
这是大局(字面意思:))
【问题讨论】:
-
你试过
main_par_auto.o: ../main/main_par_auto.cpp吗? -
是的@jadhachem。
make: *** No rule to make target `../main/main_par_auto.cpp`, needed bymain_par_auto.o'。停止。` -
路径是相对于工作目录还是相对于makefile的路径?
-
@Wintermute 我不确定你问了什么。我截图了,有用吗?我认为第一个。我正在从屏幕截图中显示的文件夹运行 make。