我试图在常规预处理器完成后将自定义预处理器插入 VC++ 2010 构建管道,到目前为止,我认为这样做的方法是通过 MSBuild。
到目前为止,我无法找到更多信息,所以我的问题是:
- 这可能吗?
- 如果是这样,我需要看什么才能开始。
最佳答案
如果您谈论的是 c/c++ 预处理器,那么您可能不太走运。 AFAIK,预处理器内置于编译器本身。您可以让编译器输出一个预处理文件,然后您可以再次通过编译器发送该文件以获得最终输出。
由于正在生成的代码,至少在以前版本的 cl.exe 中,这可能无法正常工作(至少在以前的 cl.exe 版本中,这似乎不是 100% 正确的(空白会稍微损坏,这可能会导致错误)。
如果您想走这条路,您需要做的是拥有一个在“ClCompile”目标之前运行的 MSBuild“目标”。 这个新目标必须运行带有“ClCompile”通常发送给它的所有设置的“cl.exe”程序,以及将“预处理到文件”的“/P”选项。 然后您需要在处理后的文件上运行您的工具,最后将这些新文件提供给“ClCompile”。
如果您需要任何更多信息,请在评论中回复,我会在有空时尝试添加一些信息(这个问题相当陈旧,所以我不确定是否值得在这个答案上投入更多时间) .
关于c++ - 在 VC++ 2010 中使用 MSBuild 对文件进行自定义预处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5947116/