我有一个生成这么多目标文件的 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。希望这可以帮助。
检查-o
g++ 的选项,它也应该在只创建目标文件时工作,例如:
g++ -c x.cpp -o objdir/x.o
使用这样的规则:
%.o: %.cpp $(HPP_FILES) Makefile
$(CC) $(CC_FLAGS) -c -o directory/$@ $<
然后使用以下内容链接那里的所有文件:
my_binary: $(OBJ_FILES)
$(CC) $(LD_FLAGS) -o $@ directory/$(OBJ_FILES)
您可以使用简单的赋值来定义 OBJ_FILES、HPP_FILES,例如:HPP_FILES := x.hpp y.hpp 等。