【发布时间】:2013-07-01 07:08:57
【问题描述】:
我在一个目录中有源代码,而在另一个目录中有一个生成文件。我能够使用 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
【问题讨论】:
-
你看看这个页面,它应该可以解决你的问题:mad-scientist.net/make/vpath.html。如果您真的想了解您的错误,请发布您的 Makefile 的最小工作示例
-
您在
$(PATH_TO_OBJ)和$(SRC)之间缺少/。它们之间也不能有空格。顺便说一句,您应该格式化您的代码以使其对其他人可读。