1

我想要运行一个查看 .h 文件的构建步骤,根据一些外部参数添加一些代码,并将生成的文件交给预处理器。

我在项目属性中看到“自定义构建步骤”。它似乎需要一个输出文件。我只想将结果转发给预处理器。

似乎自定义构建步骤想要执行 1 次过程,而不是按文件或按文件类型。

问题是我不知道如何向我的外部可执行文件发送当前正在处理的文件(例如,“HelloWorld.cpp”)。$(InputName) 和 %(Filename) 是空白的,文档说它已被弃用。如何将文件名发送到我的外部可执行文件?

但即使我得到了这个工作,我也不想为每个文件设置这个。我希望所有头文件都经过这个过程。

有任何想法吗?

我看过:

https://msdn.microsoft.com/en-us/library/dd293663.aspx?f=255&MSPPError=-2147217396

https://msdn.microsoft.com/en-us/library/hefydhhy(v=vs.90).aspx

https://msdn.microsoft.com/en-us/library/ff770593(v=vs.140).aspx

在 Windows 上进行调试,x64 配置。

4

1 回答 1

1

首先,不,您不能修改文件并将结果传递到下一阶段(我可以看到)。我需要某种程序转换系统

所以我需要一个中间文件。该文件必须添加到项目中,即使它被您的代码生成器覆盖。我可以将 c++ 头文件与自定义构建工具相关联,它们都将在自定义构建步骤中指定的构建阶段被一一调用。自定义构建工具将修改中间文件,一切都很好。

当前正在处理的文件的 VS 2015 名称是 %(Filename)。在旧版本中,它是 $(ProjectName) 和 $(InputName)。

于 2017-04-13T00:28:36.503 回答