我在一个目录中有源代码,在另一个目录中有一个 makefile。我能够使用 make 系统的 vpath 机制编译代码。 .o 文件是在 makefile 所在的同一文件夹中创建的。但我想将这些 .o 文件移动到另一个名为 obj
的目录中。我尝试了以下方法:
vpath %.o obj
但是,它们仍在与 makefile 相同的文件夹中创建。谁能帮我解决这个问题?
以下是 makefile 中一些突出显示的行:
PATH_TO_OBJ:- ../obj
SRC :- .c files
OBJS :- $(SRC:.c = .o)
.c.o = $(CC) $(CFLAGS) -c
exe: cc $(LFLAGS) -o $(PATH_TO_OBJ) $(SRC).
在此之后,.o 文件也在 Makefile 的同一文件夹中创建。不移动到obj
最佳答案
-o
选项定义了 gcc 编译器生成的输出文件的保存位置。
gcc main.c -c -o path/to/object/files/main.o
关于c - 将 .o 文件移动到不同目录的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17399098/