我想要运行一个构建步骤来查看.h文件,添加一些基于某些外部参数的代码,并将生成的文件交给预处理器。
我在项目属性中看到“自定义构建步骤”。它似乎需要一个输出文件。我只想将结果转发给预处理器。
似乎自定义构建步骤想要执行一次性过程,而不是按文件或文件类型。
问题是我不知道如何将我的外部可执行文件发送到当前正在处理的文件(例如,“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配置。
答案 0 :(得分:1)
首先,不,你不能修改文件并将结果传递给下一个阶段(我可以看到)。我需要某种Program Transformation System。
所以我需要一个中间文件。该文件必须添加到项目中,即使它被代码生成器覆盖也是如此。我可以将c ++头文件与自定义构建工具相关联,并且它们将在自定义构建步骤中指定的构建阶段逐个调用。自定义构建工具将修改中间文件,一切都很好。
正在处理的当前文件的VS 2015名称是%(文件名)。在旧版本中,它是$(ProjectName)和$(InputName)。