如何停用 SCons 中的头文件重复?

How to deactivate header files duplication in SCons?

在我的构建中,我需要以平面结构复制头文件,而源代码文件以分层结构复制。

默认情况下,在 SCons 中指定 duplicate = 1(我的构建是一个变体目录构建)时,所有头文件和 .c/.cpp 文件都在层次结构中复制。

有没有办法取消头文件的重复?

到目前为止我尝试了什么:

向 CPPPATH 提供一个空列表。

从我的构建器中删除源扫描器。

我想自己将它们安装在单独的文件夹中。我不想关闭复制,因为我需要它来处理 .c/.cpp 文件。

您不能仅对一部分文件(例如基于其扩展名)关闭 duplicate 方法。

将源文件和目标文件的子集安装到特定目录通常是通过调用 Install() 方法来处理的。无论您打算在实际构建中使用 duplicate=0 还是 duplicate=1,我都建议不要干扰变体目录中发生的事情......而只是让 SCons 做它的事情。