我如何从通过在 SConscript 中运行 perl 脚本自动生成的文件构建静态库
这是我需要在 scons 中做的事情,目前我无法让它正常工作。
首先,我需要运行 perl 脚本 1。这会生成一系列 cpp 文件。 然后我需要运行 perl 脚本 2。这会生成另一系列的 cpp 文件。 然后我需要获取由于执行 2 个 perl 脚本而创建的 cpp 文件,并从中构建一个静态库。
我使用自定义构建器来执行 perl 脚本。我不想手动定义目标列表,因为这可能会根据 perl 脚本用来生成源文件的文件而改变。
任何帮助将不胜感激。 谢谢, D
Here is what i need to do in scons, and at present I'm not able to get this to work correctly.
Firstly I need to run perl script 1. This generates a series of cpp files.
Then I need to run perl script 2. This generates another series of cpp files.
Then I need to take the cpp files that have been created as a result of executing the 2 perl scripts and build a static library from them.
I use a custom builder to execute the perl scripts. I don't want to manually define the target list, as this can change depending on the file that the perl scripts uses to generate the source files.
ny help would be much appreciated.
Thanks,
D
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要运行 perl 脚本,您只需要使用标准 python 代码:
要构建静态库,请尝试如下操作:
其中
Glob('*.cpp')
生成所有.cpp 的列表
文件。如果您已经有一些自定义环境,只需在我的示例中使用 is 而不是env
。For running the perl scripts you just need to use standard python code:
For building static lib, try something like this:
where
Glob('*.cpp')
generates a list of all.cpp
files. If you already have some customized environment just use is instead ofenv
in my sample.