我的Makefile很好。但是,現在我想要一個名爲「Makefile」的文件夾和一個名爲「main」的文件夾,其中第一個文件夾包含我的Makefiles,第二個文件夾包含我的項目的文件main()
,k-d GeRaF。Makefile與目錄
現在,頭文件位於同一個文件夾中。該文件夾還包含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
是@jadhachem。 'make:***沒有規則可以讓'main_par_auto.o'所需的''/ main/main_par_auto.cpp \'成爲目標。 Stop.' – gsamaras
相對於工作目錄或生成文件路徑的路徑是什麼? – Wintermute