使用 scons 编译后执行二进制文件
我正在使用 scons 编译 2 个二进制文件。编译分两个阶段进行。第一个二进制文件的编译和执行生成编译第二个二进制文件所需的文件。
每个编译都是通过单独的Environment()完成的。 SConstruct 文件的相关部分如下所示:
env_gen.Program('#gen', gen_src)
env_gen.Command(ker_src + generated_src, "./gen")
env_ker.Program('#ker', ker_src + generated_src)
我遇到的问题是,即使“ker”的编译发生在“gen”执行之后,“ker”编译也会抱怨缺少生成的文件。
这是因为在执行“./gen”之前生成了“ker”的依赖列表吗? 有谁知道如何克服这个问题?
TIA
I am using the scons to compile 2 binaries. Compilation happens in 2 stages. The compilation and execution of the first binary generates files needed for compilation of second binary.
Each compilation is done via separate Environment().
The relevant portion of SConstruct file looks like this:
env_gen.Program('#gen', gen_src)
env_gen.Command(ker_src + generated_src, "./gen")
env_ker.Program('#ker', ker_src + generated_src)
The problem that I am having is that even though the compilation of 'ker' happens after the execution of the 'gen', 'ker' compilation complains about missing generated files.
Is this because the list of dependency for 'ker' is generated before './gen' is executed?
Does anyone know how to overcome this??
TIA
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设“ker”取决于“gen”生成的文件,我认为这可能就是您想要的:
检查 Scons 手册 了解使用 env.Depends() 显式定义依赖项的详细信息
Assuming "ker" depends on the files generated by "gen", I think this might be what you want:
Check the Scons manual for details on explicitly defining dependencies using env.Depends()