2012-10-24 97 views
0

我有一個Makefile文件,它會產生如此多的目標文件 - .o - 。我如何將這些重定向到一個目錄,然後從這個目錄創建一個可執行文件?如何將所有目標文件放到目錄中

Makefile format : 

x.o = x.hpp x.cpp 
     g++ -c x.cpp 

回答

2

嗯,這似乎是很容易:

app: bin/x.o 
    g++ bin/x.o -obin/x 

bin/x.o: x.cpp 
    g++ -c x.cpp -obin/x.o 

你需要創建bin目錄,但你也可以很容易地將它添加到Makefile中。 希望這有助於。

1

檢查G的-o選項++,僅創建目標文件時,它也應該工作如:

g++ -c x.cpp -o objdir/x.o 
0

這樣的使用規則:

%.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等

相關問題