c - 将 .o 文件移动到不同目录的 Makefile

标签 c makefile vpath

我在一个目录中有源代码,在另一个目录中有一个 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/

相关文章:

C Makefile - 缺少分隔符。停止

c - 使用 -g 在 ArchLinux 中找不到调试符号

python - 试图将 python 嵌入到 tinycc 中,说 python 符号未定义

C 编程 - 基于命令行参数的数组大小

C: do-while 释放链表

c - 在 C 中生成文件给出 fatal error

java - 如何将 32 位 int 移位 32(再次)

makefile - make中vpath匹配后如何获取绝对路径?

c - 使用vpath查找生成的文件