0

我以如此具体的方式问我的问题,因为我担心更通用的形式可能会导致关于如何以最合适的方式最好地完成事情的过度理论讨论(比如关于前处理和后处理的问题)缺点)。

WPP 合并实际上需要在编译文件之前执行附加命令(命令),并且即使构建过程发现有必要编译文件而不考虑 WPP。

我要说的是,这很容易通过共享 Visual Studio 属性页文件中的几行定义来实现,这使得它以对开发人员绝对透明的方式适用于多个项目、文件夹等中的多个文件。

因此,我想知道这是否可以用 SCons 以同样简单的方式完成?我对 SCons 或 MSBuild 框架没有任何深入的了解;我和他们一起工作是为了简单的实际使用,所以我真的很感激一个实用和有用的建议。

4

1 回答 1

1

这是我的建议。

SCons 从 Environment() 变量构建命令行。例如,用于为 c++ 构建共享对象的编译命令行存储在 SHCXXCOM 中(并且当命令运行时向用户显示的变量默认为 SHCXXCOM,但可以通过修改 SHCXXCOMSTR 来更改)。

回到手头的问题。假设您要包装的构建步骤数量有限,您可以执行类似的操作。

env['SHCXXCOM'] = [ 'MPP PRE COMMAND LINE', env['SHCXXCOM'], 'MPP POST COMMAND LINE']

您必须弄清楚需要使用哪些变量来执行此操作,但请查看联机帮助页以找出答案。

https://scons.org/doc/production/HTML/scons-man.html

ps 我没有试过这个,但理论上它应该可以工作。如果没有,请告诉我们。

于 2020-05-12T18:28:02.763 回答