我在VisualSudio 2017中移植了一个C项目(来自基于make的项目),我遇到了一个问题。其中一个标题(比如说“a.h”)是由输入为CSV文件的脚本生成的。我可以通过将CSV文件添加到项目源,在其上设置自定义构建规则并指定“a.h”作为输出来启动脚本。 问题是VisualStudio似乎没有看到“a.h”与包含它的C源之间的依赖关系。例如。当我发出“rebuild all”时,删除“a.h”并首先编译C源代码,因此我收到“#include file not found”错误。试图在Custom build的Ouptput中添加C源代码,但这样一种“Rebuild”也会删除它们。请注意,另一个类似的情况是完美的,唯一的区别是输出文件是C源(例如“b.c”)而不是C头。 作为最后一次机会,我在解决方案中添加了一个单独的项目,其输出为“a.h”,并指定了项目之间的依赖关系以强制执行正确的编译序列。 我不希望有一个单独的项目。有没有办法强制在“动态”生成的C源和.h之间存在依赖关系?