【发布时间】:2017-03-14 07:23:33
【问题描述】:
如果我在 src/ 和 src/a/ 中有源文件,从 src/a/ 生成的这些源文件生成的目标文件是否必须在 obj/a/ 中,如果我将目标文件从 src / 到 obj 中?
如果不是,链接器是否只查看#include 语句中文件名的最后一部分?
【问题讨论】:
标签: c gcc makefile gnu-make ld
如果我在 src/ 和 src/a/ 中有源文件,从 src/a/ 生成的这些源文件生成的目标文件是否必须在 obj/a/ 中,如果我将目标文件从 src / 到 obj 中?
如果不是,链接器是否只查看#include 语句中文件名的最后一部分?
【问题讨论】:
标签: c gcc makefile gnu-make ld
不,他们不必如此。但是,如果您的对象目录结构模仿您的源代码,您可能会发现更容易调试链接问题。
事实上,您可以命令 make 以任何适合您的方式来安排它。只需告诉所有规则在哪里可以找到什么。
如果不是,链接器是否只查看文件名的最后一部分 #include 语句?
不,链接器不知道include 指令。这只是预处理的一部分。
【讨论】: