繁体   English   中英

scons:如何指定对外部构建目标的依赖?

[英]scons: how to specify dependency to an external build target?

我正在使用protobuf从中生成。 proto文件到.cc/.h 文件。 所以我的SConscript如下:

env.protoc('my.proto')
env.Program(target='pb_my',    CCFLAGS="-I.",   
        source=['pb_my.cpp',    'my.pb.cc'],       LIBS='protobuf')

我发现,“环境”。 SConscript 中的命令不是按顺序执行的(这就是为什么可以使用 scons -j20 并行构建目标的原因)。 但有时问题是,因为“pb_my”的目标应该在我从“my.proto”生成“my.pb.cc”之后构建,scons 会报告错误是第二行首先执行。

那么我如何指定第二行的目标只应在第一行完成后执行?

非常感谢。

您不能直接在 scons 中指定顺序。

正确的方法是确保指定依赖项。

请包含您的 protobuf 构建器的代码?

如果从您的 protobuf 构建器输出的文件在生成之前被编译,您的 protobuf 构建器可能没有指定它们。

另外,请将 scons --tree=prune 的输出添加到您的问题中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM