【发布时间】:2017-11-09 06:45:47
【问题描述】:
让我举一些我的问题的例子。假设我有两个目录,dir1 和 dir2。在每个目录中都有两个文件:dir1/fileA.h 和 dir1/fileB.h。 dir2 将有同名的文件 dir2/fileA.h & dir2/fileB.h,但它们的内容与 dir1 中的不同。如果我想使用 dir1/fileA.h & dir2/fileB.h,我的问题就出现了。如果我先包含 dir1 然后再包含 dir2
INCLUDE_DIRS += \ dir1 \
dir2
那么编译器将只引用 dir1 中的 fileA.h 和 fileB.h,而忽略 dir2 中的文件,反之亦然,如果我将 dir2 先放在 dir1 之前。同样,是否有任何解决方案可以使编译器在 dir1 中查找 fileA.h 而在 dir2 中查找 fileB.h?
【问题讨论】:
-
做
#include "dir1/fileA.h"。或者,使用符号(或硬)链接或只是简单的旧副本来构建一个目录,其中只包含您想要的文件。你想做的事情超出了编译器可以处理的范围,你必须在编译器之外解决。
标签: c++ linux makefile include