我有一個Makefile文件,它會產生如此多的目標文件 - .o - 。我如何將這些重定向到一個目錄,然後從這個目錄創建一個可執行文件?如何將所有目標文件放到目錄中
Makefile format :
x.o = x.hpp x.cpp
g++ -c x.cpp
我有一個Makefile文件,它會產生如此多的目標文件 - .o - 。我如何將這些重定向到一個目錄,然後從這個目錄創建一個可執行文件?如何將所有目標文件放到目錄中
Makefile format :
x.o = x.hpp x.cpp
g++ -c x.cpp
嗯,這似乎是很容易:
app: bin/x.o
g++ bin/x.o -obin/x
bin/x.o: x.cpp
g++ -c x.cpp -obin/x.o
你需要創建bin目錄,但你也可以很容易地將它添加到Makefile中。 希望這有助於。
檢查G的-o
選項++,僅創建目標文件時,它也應該工作如:
g++ -c x.cpp -o objdir/x.o
這樣的使用規則:
%.o: %.cpp $(HPP_FILES) Makefile
$(CC) $(CC_FLAGS) -c -o directory/[email protected] $<
然後使用類似鏈接的全部文件:
my_binary: $(OBJ_FILES)
$(CC) $(LD_FLAGS) -o [email protected] directory/$(OBJ_FILES)
您可以定義OBJ_FILES,HPP_FILES使用像簡單的任務: HPP_FILES:= x.hpp y.hpp等